package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-11.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum11 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {1,0,-48,14,118,29,107,43,104,56,36,68,92,78,-17,86,-121,93,110,98,89,101,105,102,-94,101,47,99,61,95,-31,89,-109,83,106,76,-67,68,-62,60,-57,52,2,45,-83,37,4,31,21,25,5,20,-35,15,-91,12,85,10,-39,8,72,8,24,8,92,8,-39,8,96,9,-61,9,-49,9,-118,9,113,8,-112,6,-35,3,64,0,-52,-5,110,-10,84,-16,-75,-23,109,-30,-39,-38,24,-45,125,-53,37,-60,95,-67,98,-73,65,-78,68,-82,124,-85,18,-86,19,-86,-127,-85,76,-82,113,-78,-33,-73,94,-66,-44,-59,-2,-51,-82,-42,-85,-33,-113,-24,110,-15,-10,-7,-24,1,42,9,-120,15,-4,20,68,25,-74,28,38,31,-85,32,91,33,87,33,-59,32,-89,31,123,30,75,29,52,28,121,27,37,27,106,27,81,28,-35,29,56,32,63,35,-24,38,21,43,-88,47,122,52,97,57,26,62,108,66,49,70,38,73,33,75,-6,75,-87,75,-49,73,123,70,-84,65,102,59,-77,51,-74,42,-117,32,-98,21,-64,9,94,-3,-63,-16,37,-28,-38,-41,22,-52,85,-63,105,-73,-51,-82,-119,-89,-37,-95,-52,-99,108,-101,-67,-102,-94,-101,13,-98,-23,-95,2,-89,43,-83,61,-76,-18,-69,8,-60,101,-52,-64,-44,-7,-36,-54,-28,36,-20,-31,-14,-60,-8,15,-2,-113,2,86,6,104,9,-35,11,-64,13,66,15,65,16,73,17,63,18,74,19,-120,20,4,22,-31,23,-10,25,-94,28,-79,31,27,35,-42,38,-50,42,-35,46,-23,50,-41,54,-119,58,-50,61,-123,64,-107,66,-39,67,66,68,-58,67,70,66,-58,63,77,60,-28,55,-104,50,-110,44,0,38,-50,30,62,23,117,15,-88,7,-17,-1,-125,-8,-92,-15,41,-21,74,-27,35,-32,-62,-37,48,-40,102,-43,104,-45,61,-46,-97,-47,-111,-47,-8,-47,-63,-46,-63,-45,-24,-44,25,-42,46,-41,18,-40,-66,-40,27,-39,44,-39,-18,-40,86,-40,-123,-41,-121,-42,110,-43,83,-44,83,-45,-114,-46,26,-46,0,-46,-115,-46,-47,-45,-54,-43,-100,-40,60,-36,-65,-32,-14,-27,29,-20,11,-13,-103,-6,-71,2,64,11,9,20,-57,28,-103,37,41,46,80,54,-32,61,-73,68,-82,74,-90,79,-128,83,61,86,-46,87,38,88,75,87,71,85,36,82,21,78,9,73,47,67,-77,60,-88,53,61,46,-102,38,-16,30,59,23,-97,15,73,8,69,1,-80,-6,-118,-12,-19,-18,-8,-23,106,-27,88,-31,-54,-35,-82,-38,4,-40,-75,-43,-29,-45,46,-46,-63,-48,127,-49,112,-50,-128,-51,-68,-52,25,-52,-105,-53,44,-53,-10,-54,-18,-54,29,-53,-105,-53,83,-52,94,-51,-51,-50,-94,-48,-30,-46,-117,-43,-90,-40,40,-36,-13,-33,61,-28,-38,-24,-57,-19,-23,-14,60,-8,-89,-3,28,3,91,8,-85,13,-56,18,-85,23,64,28,120,32,79,36,-107,39,-116,42,14,45,21,47,-86,48,-52,49,-127,50,-53,50,-63,50,106,50,-58,49,-27,48,-51,47,-119,46,26,45,-94,43,-7,41,64,40,110,38,-128,36,-125,34,97,32,77,30,-20,27,110,25,-74,22,-37,19,-68,16,112,13,8,10,69,6,63,2,6,-2,-105,-7,-3,-12,65,-16,102,-21,-97,-26,-72,-31,-37,-36,35,-40,-113,-45,64,-49,62,-53,-92,-57,106,-60,-82,-63,118,-65,-42,-67,-47,-68,110,-68,-82,-68,-97,-67,60,-65,-117,-63,118,-60,16,-56,52,-52,-14,-48,7,-42,-78,-37,-60,-31,34,-24,-56,-18,-102,-11,-124,-4,84,3,57,10,4,17,-104,23,-22,29,-29,35,121,41,118,46,20,51,34,55,-105,58,113,61,-99,63,43,65,3,66,53,66,-59,65,-66,64,22,63,-21,60,47,58,13,55,-123,51,-101,47,110,43,-3,38,105,34,-69,29,-8,24,98,20,-78,15,38,11,-78,6,116,2,91,-2,-127,-6,-38,-10,-106,-13,92,-16,99,-19,-113,-22,-8,-25,-125,-27,56,-29,48,-31,32,-33,50,-35,88,-37,-100,-39,-11,-41,104,-42,7,-43,-74,-45,-112,-46,-104,-47,-45,-48,81,-48,17,-48,37,-48,127,-48,70,-47,107,-46,2,-44,-7,-43,105,-40,61,-37,87,-34,-10,-31,-21,-27,46,-22,-69,-18,113,-13,91,-8,80,-3,45,2,34,7,-5,11,-81,16,38,21,93,25,65,29,-73,32,-27,35,-72,38,40,41,49,43,-30,44,45,46,31,47,-51,47,54,48,90,48,78,48,8,48,-98,47,8,47,95,46,-123,45,-117,44,103,43,24,42,-101,40,-32,38,10,37,-57,34,54,32,69,29,-7,25,61,22,34,18,-73,13,-61,8,105,3,-71,-3,-72,-9,124,-15,20,-21,-102,-28,66,-34,-16,-41,-45,-47,24,-52,-51,-58,23,-62,13,-66,-46,-70,93,-72,-46,-74,54,-74,-108,-74,-17,-73,55,-70,104,-67,113,-63,78,-58,-42,-53,-18,-47,-122,-40,102,-33,-128,-26,-120,-19,-103,-12,-128,-5,18,2}; }
	private static byte[] data1(){ return new byte[] {59,8,-22,13,1,19,99,23,54,27,110,30,-6,32,-15,34,81,36,52,37,-126,37,-98,37,106,37,11,37,-111,36,12,36,-111,35,49,35,-28,34,-36,34,-17,34,60,35,-89,35,52,36,-46,36,121,37,6,38,113,38,-99,38,-126,38,-2,37,17,37,-69,35,-64,33,54,31,17,28,98,24,32,20,100,15,51,10,-43,4,-1,-2,18,-7,8,-13,26,-19,83,-25,-40,-31,-29,-36,70,-40,68,-44,-37,-48,45,-50,47,-52,-19,-54,109,-54,-116,-54,84,-53,-83,-52,-126,-50,-52,-48,93,-45,53,-42,27,-39,30,-36,22,-33,-9,-31,-86,-28,51,-25,125,-23,115,-21,74,-19,-17,-18,115,-16,-38,-15,62,-13,-86,-12,53,-10,-47,-9,-49,-7,43,-4,-33,-2,9,2,-103,5,-93,9,-5,13,-43,18,-1,23,108,29,-5,34,-102,40,26,46,93,51,79,56,-61,60,-106,64,-89,67,-33,69,38,71,94,71,-98,70,-76,68,-69,65,-72,61,-84,56,-52,50,21,44,-37,36,0,29,-54,20,105,12,2,4,-61,-5,-41,-13,-124,-20,-87,-27,124,-33,39,-38,-87,-43,22,-46,110,-49,-90,-51,-29,-52,-58,-52,104,-51,-89,-50,100,-48,-109,-46,-11,-44,-102,-41,45,-38,-72,-36,20,-33,52,-31,17,-29,-107,-28,-70,-27,-111,-26,28,-25,109,-25,-119,-25,-114,-25,-118,-25,-95,-25,-64,-25,72,-24,32,-23,113,-22,54,-20,-118,-18,106,-15,-68,-12,-74,-8,51,-3,32,2,105,7,-10,12,-87,18,69,24,-23,29,77,35,91,40,-24,44,-21,48,50,52,-59,54,116,56,97,57,113,57,-91,56,22,55,-68,52,-57,49,64,46,64,42,-27,37,77,33,-95,28,-18,23,103,19,38,15,33,11,116,7,50,4,100,1,-4,-2,7,-3,112,-5,82,-6,81,-7,-126,-8,-59,-9,15,-9,58,-10,64,-11,29,-12,-115,-14,-90,-16,80,-18,-92,-21,-117,-24,34,-27,113,-31,-123,-35,120,-39,108,-43,127,-47,-52,-51,-128,-54,-80,-57,119,-59,6,-60,105,-61,-72,-61,-9,-60,59,-57,123,-54,-101,-50,-65,-45,-76,-39,115,-32,-61,-25,-103,-17,-75,-9,1,0,36,8,61,16,-2,23,61,31,-29,37,-71,43,-58,48,-59,52,-20,55,23,58,66,59,-126,59,-38,58,106,57,47,55,114,52,47,49,-104,45,-57,41,-44,37,-15,33,29,30,-106,26,70,23,76,20,-78,17,116,15,-111,13,12,12,-28,10,-31,9,6,9,59,8,115,7,-114,6,-127,5,82,4,-70,2,-64,0,103,-2,-87,-5,-121,-8,5,-11,53,-15,52,-19,-10,-24,-107,-28,68,-32,6,-36,11,-40,99,-44,52,-47,-119,-50,119,-52,26,-53,116,-54,-107,-54,-127,-53,29,-51,-124,-49,-110,-46,61,-42,115,-38,9,-33,-2,-29,21,-23,57,-18,93,-13,111,-8,59,-3,-69,1,-44,5,-128,9,-112,12,73,15,122,17,65,19,-113,20,-117,21,43,22,127,22,-66,22,-17,22,31,23,96,23,-58,23,94,24,42,25,54,26,-121,27,28,29,-32,30,-47,32,-38,34,-23,36,-13,38,-56,40,96,42,-104,43,95,44,-99,44,58,44,77,43,-126,41,2,39,-67,35,-64,31,11,27,-71,21,-49,15,-106,9,-31,2,-19,-5,-24,-12,-25,-19,22,-25,-107,-32,-101,-38,25,-43,59,-48,30,-52,-53,-56,91,-58,-59,-60,31,-60,64,-60,65,-59,-7,-58,108,-55,113,-52,-4,-49,-17,-45,30,-40,-117,-36,8,-31,-116,-27,-20,-23,39,-18,35,-14,-59,-11,38,-7,64,-4,-6,-2,116,1,-97,3,-116,5,75,7,-63,8,68,10,-70,11,52,13,-66,14,94,16,29,18,-23,19,-17,21,27,24,94,26,-73,28,22,31,117,33,-83,35,-42,37,-72,39,100,41,-92,42,-115,43,-12,43,-32,43,79,43,39,42,114,40,55,38,112,35,53,32,-117,28,-100,24,80,20,-62,15,32,11,101,6,-68,1,46,-3,-22,-8,-43,-12,1,-15,-105,-19,-120,-22,-25,-25,-78,-27,-27,-29,-108,-30,-114,-31,-38,-32,114,-32,73,-32,76,-32,122,-32,-63,-32,12,-31,89,-31,-101,-31,-44,-31,-7,-31,20,-30,12,-30,13,-30,0,-30,0,-30,19,-30,61,-30,-104,-30,39,-29,-30,-29,9,-27,-122,-26,107,-24,-74,-22,109,-19,-108,-16,-3,-13,-10,-9,53,-4,-51,0,-103,5,-110,10,-95,15,-105,20,-111,25,92,30,-26,34,25,39,-36,42,42,46,-36,48,-1,50,122,52,92,53,-118,53,18,53,-8,51,63,50,4,48,57,45,-7,41,88,38,98,34,46,30,-49,25,104,21,-23,16,102,12,2,8,-70,3,-94,-1,-66,-5,20,-8,-57,-12,-91,-15,-70,-18,32,-20,-75,-23,-107,-25,-90,-27,1,-28,124,-30,23,-31,-26,-33,-42,-34,-24,-35,36,-35,-123,-36,4,-36,-87,-37,117,-37,113,-37,-100,-37,-3,-37,-106,-36,97,-35,120,-34,-53,-33,108,-31,72,-29,110,-27,-43,-25,96,-22,63,-19}; }
	private static byte[] data2(){ return new byte[] {79,-16,-119,-13,-20,-10,98,-6,-19,-3,125,1,-24,4,102,8,-59,11,1,15,23,18,-17,20,-105,23,-33,25,1,28,-39,29,105,31,-81,32,-82,33,100,34,-44,34,9,35,5,35,-56,34,88,34,-69,33,-14,32,4,32,-4,30,-52,29,126,28,22,27,-113,25,-15,23,53,22,120,20,-121,18,123,16,81,14,9,12,-92,9,30,7,-104,4,-35,1,4,-1,23,-4,21,-7,9,-10,-15,-14,-37,-17,-36,-20,-44,-23,-26,-26,15,-28,102,-31,-26,-34,-93,-36,-91,-38,-27,-40,121,-41,90,-42,-95,-43,60,-43,65,-43,-96,-43,107,-42,-101,-41,46,-39,35,-37,116,-35,29,-32,21,-29,67,-26,-62,-23,-123,-19,106,-15,127,-11,-89,-7,-32,-3,3,2,61,6,92,10,110,14,68,18,-1,21,109,25,-112,28,118,31,16,34,77,36,55,38,-74,39,-37,40,-103,41,-22,41,-21,41,127,41,-63,40,-88,39,56,38,-123,36,-114,34,86,32,-22,29,78,27,-111,24,-75,21,-57,18,-29,15,-28,12,-22,9,-10,6,16,4,63,1,125,-2,-35,-5,107,-7,-2,-10,-84,-12,122,-14,96,-16,108,-18,-122,-20,-31,-22,46,-23,-87,-25,46,-26,-37,-28,-98,-29,126,-30,-114,-31,-83,-32,-5,-33,110,-33,13,-33,-27,-34,-24,-34,45,-33,-96,-33,89,-32,90,-31,-106,-30,23,-28,-31,-27,-33,-25,21,-22,-118,-20,58,-17,26,-14,26,-11,64,-8,116,-5,-72,-2,-28,1,35,5,82,8,105,11,92,14,41,17,-60,19,25,22,70,24,61,26,-18,27,105,29,-100,30,-100,31,79,32,-34,32,45,33,84,33,69,33,19,33,-78,32,48,32,-108,31,-55,30,-26,29,-44,28,-87,27,82,26,-45,24,69,23,110,21,107,19,52,17,-58,14,40,12,79,9,96,6,33,3,-71,-1,40,-4,118,-8,-77,-12,-36,-16,16,-19,90,-23,-72,-27,51,-30,-10,-34,-14,-37,85,-39,9,-41,70,-43,-28,-45,11,-45,-74,-46,-22,-46,-85,-45,-15,-44,-78,-42,-13,-40,-89,-37,-66,-34,45,-30,-32,-27,-53,-23,-40,-19,-26,-15,2,-10,29,-6,5,-2,-42,1,91,5,-86,8,-111,11,66,14,-99,16,-80,18,99,20,-37,21,-4,22,-43,23,-122,24,11,25,107,25,-80,25,-33,25,7,26,34,26,61,26,95,26,-122,26,-84,26,-41,26,-9,26,22,27,32,27,22,27,-35,26,-122,26,-18,25,35,25,16,24,-56,22,35,21,44,19,-23,16,86,14,-126,11,97,8,28,5,-81,1,30,-2,107,-6,-60,-10,31,-13,-95,-17,74,-20,67,-23,112,-26,-21,-29,-58,-31,3,-32,-89,-34,-78,-35,49,-35,7,-35,65,-35,-47,-35,-77,-34,-41,-33,58,-31,-58,-30,110,-28,51,-26,8,-24,-38,-23,-82,-21,115,-19,42,-17,-65,-16,82,-14,-38,-13,85,-11,-50,-10,64,-8,-58,-7,79,-5,-27,-4,-93,-2,-107,0,-89,2,-22,4,95,7,-10,9,-78,12,-99,15,-93,18,-64,21,-39,24,-21,27,-29,30,-90,33,52,36,120,38,85,40,-48,41,-58,42,61,43,33,43,123,42,61,41,101,39,4,37,22,34,-77,30,-33,26,-56,22,84,18,-85,13,-20,8,28,4,100,-1,-54,-6,-123,-10,110,-14,-79,-18,90,-21,115,-24,-1,-27,5,-28,-128,-30,-122,-31,-30,-32,-88,-32,-65,-32,45,-31,-44,-31,-82,-30,-76,-29,-62,-28,-34,-27,-12,-26,1,-24,-4,-24,-30,-23,-93,-22,90,-21,-13,-21,-121,-20,14,-19,-110,-19,44,-18,-54,-18,-121,-17,112,-16,-104,-15,-12,-14,-108,-12,119,-10,-94,-8,-4,-6,-83,-3,-103,0,-75,3,-1,6,89,10,-57,13,16,17,99,20,-125,23,118,26,21,29,105,31,84,33,-44,34,-37,35,115,36,-110,36,55,36,106,35,49,34,-106,32,-83,30,117,28,2,26,102,23,-82,20,-22,17,42,15,-116,12,-8,9,-125,7,65,5,40,3,67,1,-116,-1,5,-2,-71,-4,125,-5,82,-6,59,-7,45,-8,16,-9,-13,-11,-56,-12,119,-13,-2,-15,105,-16,-86,-18,-46,-20,-35,-22,-42,-24,-57,-26,-82,-28,-75,-30,-54,-32,29,-33,-90,-35,127,-36,-79,-37,77,-37,98,-37,-9,-37,9,-35,-87,-34,-57,-32,90,-29,114,-26,-1,-23,-22,-19,39,-14,-93,-10,69,-5,2,0,-96,4,64,9,-75,13,-30,17,-55,21,59,25,81,28,-59,30,-27,32,102,34,121,35,-6,35,13,36,-91,35,-42,34,-80,33,67,32,-103,30,-63,28,-50,26,-54,24,-57,22,-48,20,-17,18,26,17,117,15,-34,13,120,12,34,11,3,10,-34,8,-55,7,-76,6,-102,5,114,4,49,3,-24,1,99,0,-72,-2,-37,-4,-39,-6,-89,-8,85,-10,-33,-13,105,-15,-47,-18,64,-20,-74,-23,79,-25,12,-27,7,-29,76,-31,-42,-33,-57,-34,14,-34,-51,-35,-17,-35,-116,-34,127,-33,-14,-32,-74,-30,-33,-28,78,-25,1,-22,-31,-20}; }
	private static byte[] data3(){ return new byte[] {-20,-17,-18,-14,17,-10,36,-7,34,-4,2,-1,-85,1,48,4,85,6,99,8,38,10,-75,11,8,13,39,14,26,15,-44,15,-120,16,33,17,-75,17,65,18,-47,18,111,19,16,20,-59,20,-118,21,97,22,64,23,31,24,2,25,-51,25,-106,26,40,27,-103,27,-57,27,-76,27,87,27,-101,26,-96,25,38,24,83,22,22,20,125,17,-114,14,68,11,-63,7,13,4,39,0,26,-4,20,-8,8,-12,38,-16,105,-20,-2,-24,-45,-27,-5,-30,-111,-32,-113,-34,13,-35,-5,-37,114,-37,80,-37,-86,-37,110,-36,-108,-35,26,-33,-28,-32,-8,-30,49,-27,-103,-25,22,-22,-91,-20,46,-17,-77,-15,35,-12,107,-10,-90,-8,-63,-6,-68,-4,-108,-2,83,0,-17,1,126,3,-35,4,75,6,-81,7,14,9,118,10,-39,11,77,13,-80,14,48,16,-74,17,57,19,-67,20,53,22,-97,23,-26,24,26,26,28,27,-11,27,-116,28,-22,28,-10,28,-61,28,56,28,102,27,55,26,-65,24,-6,22,-19,20,-89,18,56,16,-113,13,-62,10,-29,7,-12,4,13,2,42,-1,122,-4,-49,-7,79,-9,-2,-12,-32,-14,-4,-16,81,-17,-31,-19,-72,-20,-67,-21,-22,-22,84,-22,-36,-23,-110,-23,96,-23,82,-23,77,-23,90,-23,115,-23,-111,-23,-67,-23,-24,-23,30,-22,85,-22,-89,-22,-3,-22,112,-21,-8,-21,-93,-20,110,-19,88,-18,122,-17,-47,-16,96,-14,31,-12,28,-10,70,-8,-103,-6,34,-3,-31,-1,-78,2,-89,5,-92,8,-89,11,-113,14,120,17,62,20,-35,22,66,25,106,27,71,29,-42,30,2,32,-30,32,89,33,124,33,51,33,-107,32,-99,31,84,30,-64,28,-33,26,-58,24,122,22,0,20,109,17,-52,14,25,12,84,9,-93,6,-20,3,86,1,-51,-2,97,-4,41,-6,-1,-9,-16,-11,15,-12,71,-14,-89,-16,43,-17,-39,-19,-97,-20,123,-21,-128,-22,-106,-23,-38,-24,41,-24,-82,-25,64,-25,-10,-26,-48,-26,-53,-26,-20,-26,57,-25,-86,-25,66,-24,14,-23,-1,-23,40,-21,115,-20,-15,-19,-106,-17,78,-15,66,-13,73,-11,120,-9,-78,-7,1,-4,91,-2,-76,0,-3,2,75,5,-114,7,-69,9,-51,11,-61,13,-110,15,45,17,-82,18,4,20,40,21,36,22,-21,22,-122,23,-16,23,47,24,73,24,56,24,0,24,-93,23,36,23,-121,22,-51,21,-5,20,1,20,-7,18,-47,17,-105,16,67,15,-20,13,112,12,-36,10,63,9,-128,7,-64,5,-32,3,16,2,27,0,28,-2,20,-4,11,-6,-7,-9,-11,-11,-23,-13,5,-14,22,-16,66,-18,-123,-20,-28,-22,106,-23,23,-24,-16,-26,-4,-27,50,-27,-92,-28,81,-28,52,-28,89,-28,-75,-28,79,-27,45,-26,64,-25,-109,-24,23,-22,-42,-21,-68,-19,-57,-17,-1,-15,96,-12,-41,-10,103,-7,4,-4,-86,-2,67,1,-25,3,-127,6,16,9,123,11,-38,13,8,16,9,18,-22,19,-103,21,25,23,92,24,109,25,58,26,-46,26,36,27,65,27,38,27,-54,26,62,26,117,25,-126,24,94,23,23,22,-100,20,13,19,88,17,-112,15,-78,13,-41,11,-31,9,-22,7,-21,5,-13,3,-5,1,17,0,44,-2,105,-4,-93,-6,-25,-8,71,-9,-83,-11,49,-12,-65,-14,123,-15,51,-16,6,-17,-13,-19,-20,-20,19,-20,59,-21,-99,-22,2,-22,-107,-23,64,-23,19,-23,11,-23,39,-23,112,-23,-42,-23,116,-22,52,-21,42,-20,66,-19,-122,-18,-7,-17,117,-15,51,-13,-1,-12,-9,-10,-9,-8,22,-5,54,-3,99,-1,127,1,-91,3,-59,5,-44,7,-52,9,-80,11,112,13,7,15,-122,16,-33,17,18,19,24,20,-5,20,-83,21,57,22,-100,22,-32,22,-6,22,-13,22,-55,22,-128,22,22,22,-104,21,-9,20,57,20,97,19,108,18,90,17,49,16,-11,14,-111,13,15,12,113,10,-77,8,-36,6,-27,4,-20,2,-61,0,-114,-2,66,-4,-20,-7,-105,-9,52,-11,-21,-14,-85,-16,-126,-18,108,-20,-125,-22,-60,-24,56,-25,-19,-27,-31,-28,30,-28,-100,-29,111,-29,-117,-29,-3,-29,-76,-28,-69,-27,-1,-26,-107,-24,88,-22,90,-20,-126,-18,-51,-16,53,-13,-100,-11,24,-8,-104,-6,5,-3,104,-1,-81,1,-40,3,-52,5,-82,7,97,9,-17,10,81,12,-121,13,-102,14,116,15,65,16,-23,16,124,17,-15,17,89,18,-87,18,-16,18,36,19,81,19,118,19,-115,19,-108,19,-106,19,122,19,90,19,22,19,-72,18,61,18,-103,17,-43,16,-30,15,-42,14,-114,13,29,12,123,10,-71,8,-56,6,-66,4,-109,2,102,0,28,-2,-57,-5,123,-7,50,-9,1,-11,-17,-14,0,-15,65,-17,-100,-19,62,-20,16,-21,33,-22,111,-23,0,-23,-57,-24,-58,-24,1,-23,104,-23,5,-22,-65,-22,-88,-21,-100,-20,-77,-19,-38,-18,8,-16}; }
	private static byte[] data4(){ return new byte[] {71,-15,-128,-14,-60,-13,-14,-12,52,-10,109,-9,-83,-8,-23,-7,44,-5,115,-4,-60,-3,14,-1,119,0,-16,1,121,3,21,5,-65,6,123,8,55,10,5,12,-31,13,-80,15,-128,17,59,19,-34,20,96,22,-72,23,-26,24,-45,25,-121,26,-20,26,13,27,-42,26,87,26,-124,25,86,24,-27,22,30,21,28,19,-36,16,114,14,-36,11,27,9,83,6,125,3,-82,0,-18,-3,90,-5,-43,-8,-126,-10,92,-12,117,-14,-60,-16,85,-17,39,-18,63,-19,-113,-20,13,-20,-54,-21,-84,-21,-64,-21,-17,-21,69,-20,-90,-20,28,-19,-104,-19,30,-18,-87,-18,50,-17,-72,-17,65,-16,-55,-16,92,-15,-20,-15,-114,-14,53,-13,-9,-13,-70,-12,-86,-11,-77,-10,-32,-9,47,-7,-96,-6,51,-4,-34,-3,-83,-1,-94,1,-93,3,-73,5,-43,7,-19,9,-15,11,-15,13,-42,15,-105,17,46,19,-116,20,-71,21,-98,22,72,23,-92,23,-52,23,-102,23,57,23,-120,22,-85,21,-110,20,83,19,-32,17,91,16,-73,14,10,13,81,11,-85,9,-10,7,86,6,-66,4,61,3,-49,1,116,0,48,-1,12,-2,-18,-4,-41,-5,-48,-6,-53,-7,-54,-8,-51,-9,-47,-10,-56,-11,-73,-12,-104,-13,124,-14,81,-15,43,-16,6,-17,-28,-19,-48,-20,-53,-21,-24,-22,31,-22,-124,-23,28,-23,-33,-24,-20,-24,54,-23,-57,-23,-93,-22,-61,-21,48,-19,-47,-18,-62,-16,-22,-14,74,-11,-50,-9,124,-6,53,-3,2,0,-73,2,115,5,25,8,-103,10,-16,12,19,15,-11,16,-106,18,-17,19,17,21,-34,21,108,22,-80,22,-73,22,123,22,19,22,117,21,-74,20,-48,19,-42,18,-58,17,-85,16,-113,15,111,14,77,13,54,12,29,11,21,10,12,9,25,8,28,7,29,6,30,5,24,4,5,3,-19,1,-54,0,-111,-1,62,-2,-36,-4,103,-5,-28,-7,80,-8,-71,-10,36,-11,-118,-13,-13,-15,113,-16,3,-17,-78,-19,-117,-20,-115,-21,-63,-22,44,-22,-50,-23,-77,-23,-42,-23,53,-22,-39,-22,-83,-21,-52,-20,15,-18,-114,-17,39,-15,-18,-14,-66,-12,-97,-10,-116,-8,123,-6,104,-4,64,-2,12,0,-67,1,69,3,-65,4,23,6,86,7,108,8,116,9,79,10,24,11,-53,11,117,12,16,13,-100,13,40,14,-89,14,38,15,-97,15,21,16,-115,16,-8,16,94,17,-74,17,-5,17,52,18,73,18,64,18,20,18,-69,17,56,17,-127,16,-92,15,-121,14,52,13,-81,11,-10,9,18,8,4,6,-47,3,-103,1,52,-1,-48,-4,98,-6,1,-8,-79,-11,123,-13,118,-15,-113,-17,-34,-19,97,-20,42,-21,42,-22,122,-23,7,-23,-35,-24,-20,-24,65,-23,-53,-23,-111,-22,127,-21,-97,-20,-43,-19,46,-17,-96,-16,26,-14,-93,-13,45,-11,-75,-10,49,-8,-89,-7,32,-5,-128,-4,-32,-3,44,-1,112,0,-85,1,-52,2,-10,3,29,5,57,6,90,7,117,8,-115,9,-102,10,-82,11,-70,12,-57,13,-65,14,-78,15,-113,16,83,17,2,18,-107,18,0,19,75,19,104,19,89,19,30,19,-77,18,24,18,74,17,78,16,39,15,-44,13,95,12,-44,10,37,9,93,7,-114,5,-85,3,-43,1,-13,-1,57,-2,115,-4,-52,-6,55,-7,-66,-9,107,-10,43,-11,30,-12,44,-13,93,-14,-88,-15,19,-15,-101,-16,62,-16,-8,-17,-48,-17,-81,-17,-88,-17,-84,-17,-64,-17,-28,-17,16,-16,76,-16,-106,-16,-15,-16,89,-15,-37,-15,103,-14,23,-13,-47,-13,-92,-12,-103,-11,-86,-10,-36,-9,39,-7,-113,-6,21,-4,-95,-3,83,-1,24,1,-26,2,-64,4,-99,6,117,8,55,10,-4,11,-97,13,53,15,-99,16,-30,17,-2,18,-30,19,-104,20,24,21,93,21,118,21,68,21,-14,20,86,20,-99,19,-88,18,-114,17,75,16,-22,14,107,13,-42,11,62,10,-119,8,-43,6,23,5,95,3,-83,1,0,0,101,-2,-33,-4,99,-5,-13,-7,-103,-8,83,-9,33,-10,5,-11,10,-12,22,-13,59,-14,117,-15,-58,-16,45,-16,-84,-17,70,-17,-11,-18,-67,-18,-98,-18,-99,-18,-74,-18,-19,-18,64,-17,-80,-17,61,-16,-16,-16,-73,-15,-90,-14,-88,-13,-52,-12,-7,-11,73,-9,-84,-8,34,-6,-94,-5,48,-3,-62,-2,85,0,-33,1,107,3,-16,4,109,6,-47,7,44,9,105,10,-120,11,-104,12,-122,13,96,14,18,15,-84,15,36,16,121,16,-76,16,-45,16,-47,16,-74,16,126,16,45,16,-66,15,71,15,-91,14,2,14,53,13,103,12,121,11,-125,10,-125,9,105,8,69,7,14,6,-46,4,-126,3,52,2,-32,0,-122,-1,27,-2,-73,-4,79,-5,-18,-7,-116,-8,59,-9,-11,-11,-68,-12,-116,-13,116,-14,113,-15,-120,-16,-72,-17,16,-17,124,-18,16,-18,-57,-19,-96,-19,-93,-19,-51,-19,19,-18,-113,-18}; }
	private static byte[] data5(){ return new byte[] {34,-17,-24,-17,-57,-16,-48,-15,-13,-14,54,-12,-121,-11,-3,-10,-127,-8,30,-6,-64,-5,113,-3,37,-1,-49,0,127,2,50,4,-50,5,105,7,-22,8,88,10,-88,11,-33,12,4,14,-2,14,-33,15,-107,16,47,17,-103,17,-28,17,4,18,5,18,-35,17,-110,17,36,17,-108,16,-22,15,33,15,56,14,64,13,40,12,6,11,-49,9,-105,8,76,7,-9,5,-94,4,67,3,-21,1,-112,0,61,-1,-7,-3,-75,-4,115,-5,68,-6,22,-7,3,-8,-17,-10,2,-10,16,-11,51,-12,107,-13,-81,-14,15,-14,125,-15,11,-15,-91,-16,95,-16,41,-16,23,-16,24,-16,57,-16,119,-16,-52,-16,63,-15,-41,-15,-127,-14,81,-13,53,-12,55,-11,67,-10,114,-9,-79,-8,4,-6,100,-5,-50,-4,62,-2,-74,-1,31,1,-111,2,0,4,95,5,-72,6,-3,7,47,9,68,10,75,11,59,12,16,13,-57,13,105,14,-26,14,78,15,-107,15,-57,15,-39,15,-42,15,-74,15,-127,15,48,15,-48,14,86,14,-61,13,35,13,99,12,-101,11,-73,10,-50,9,-55,8,-83,7,-120,6,71,5,3,4,-91,2,80,1,-36,-1,101,-2,-26,-4,100,-5,-28,-7,101,-8,-14,-10,-109,-11,57,-12,-8,-14,-57,-15,-62,-16,-50,-17,12,-17,105,-18,-7,-19,-87,-19,-110,-19,-96,-19,-26,-19,81,-18,-19,-18,-82,-17,-98,-16,-80,-15,-32,-14,45,-12,-107,-11,6,-9,-120,-8,11,-6,-94,-5,44,-3,-77,-2,51,0,-97,1,-6,2,64,4,126,5,-102,6,-88,7,-100,8,118,9,54,10,-30,10,-126,11,8,12,-128,12,-29,12,60,13,126,13,-74,13,-32,13,-6,13,13,14,7,14,-7,13,-42,13,-90,13,95,13,2,13,-114,12,4,12,93,11,-95,10,-49,9,-34,8,-44,7,-85,6,118,5,33,4,-59,2,84,1,-23,-1,103,-2,-19,-4,104,-5,-4,-7,-118,-8,60,-9,-2,-11,-39,-12,-52,-13,-33,-14,26,-14,114,-15,-12,-16,-100,-16,103,-16,86,-16,102,-16,-104,-16,-21,-16,85,-15,-34,-15,113,-14,33,-13,-35,-13,-86,-12,124,-11,92,-10,65,-9,30,-8,18,-7,-6,-7,-7,-6,-22,-5,-21,-4,-24,-3,-17,-2,-20,-1,-1,0,18,2,48,3,79,4,118,5,-98,6,-66,7,-23,8,13,10,42,11,63,12,65,13,51,14,9,15,-58,15,100,16,-31,16,47,17,92,17,83,17,34,17,-60,16,50,16,114,15,-122,14,113,13,48,12,-41,10,92,9,-50,7,35,6,113,4,-71,2,-2,0,78,-1,-79,-3,29,-4,-99,-6,56,-7,-16,-9,-55,-10,-62,-11,-32,-12,40,-12,-119,-13,12,-13,-80,-14,107,-14,78,-14,56,-14,73,-14,97,-14,-117,-14,-61,-14,7,-13,83,-13,-86,-13,6,-12,105,-12,-39,-12,80,-11,-50,-11,93,-10,-15,-10,-99,-9,67,-8,16,-7,-30,-7,-47,-6,-50,-5,-37,-4,2,-2,36,-1,106,0,-79,1,9,3,95,4,-69,5,13,7,85,8,-114,9,-63,10,-48,11,-47,12,-91,13,99,14,-16,14,92,15,-99,15,-73,15,-89,15,110,15,15,15,-113,14,-21,13,46,13,81,12,98,11,97,10,81,9,58,8,37,7,8,6,-23,4,-46,3,-68,2,-78,1,-82,0,-74,-1,-53,-2,-23,-3,1,-3,45,-4,84,-5,-121,-6,-69,-7,-8,-8,54,-8,105,-9,-83,-10,-25,-11,48,-11,119,-12,-48,-13,40,-13,-103,-14,15,-14,-92,-15,76,-15,15,-15,-9,-16,-9,-16,35,-15,116,-15,-16,-15,-114,-14,96,-13,79,-12,97,-11,-97,-10,-8,-9,116,-7,0,-5,-94,-4,79,-2,-2,-1,-86,1,76,3,-11,4,117,6,-11,7,66,9,-128,10,-120,11,119,12,64,13,-39,13,83,14,-98,14,-56,14,-56,14,-87,14,113,14,23,14,-83,13,41,13,-106,12,-9,11,79,11,-97,10,-27,9,44,9,106,8,-87,7,-25,6,40,6,97,5,-107,4,-61,3,-16,2,16,2,50,1,74,0,96,-1,91,-2,98,-3,81,-4,75,-5,52,-6,41,-7,33,-8,26,-9,29,-10,41,-11,78,-12,-127,-13,-47,-14,63,-14,-55,-15,117,-15,68,-15,59,-15,83,-15,-101,-15,-6,-15,-120,-14,52,-13,0,-12,-19,-12,-21,-11,7,-9,40,-8,91,-7,-113,-6,-43,-5,14,-3,78,-2,124,-1,-87,0,-69,1,-60,2,-54,3,-82,4,-110,5,90,6,20,7,-69,7,84,8,-24,8,105,9,-27,9,81,10,-71,10,19,11,102,11,-80,11,-12,11,40,12,87,12,111,12,-126,12,125,12,103,12,60,12,-15,11,-105,11,22,11,-126,10,-44,9,-2,8,19,8,3,7,-32,5,-95,4,77,3,-23,1,-123,0,7,-1,-114,-3,14,-4,-102,-6,48,-7,-43,-9,-101,-10,109,-11,100,-12,114,-13,-81,-14,6,-14,-111,-15,56,-15,19,-15,5,-15,41,-15,107,-15,-52,-15,83,-14}; }
	private static byte[] data6(){ return new byte[] {-21,-14,-95,-13,101,-12,67,-11,39,-10,27,-9,17,-8,15,-7,7,-6,6,-5,6,-4,0,-3,-6,-3,-18,-2,-33,-1,-52,0,-87,1,-112,2,108,3,78,4,32,5,-6,5,-59,6,-118,7,78,8,10,9,-67,9,103,10,1,11,-113,11,6,12,110,12,-60,12,-6,12,32,13,35,13,11,13,-38,12,-119,12,25,12,-112,11,-33,10,35,10,62,9,79,8,76,7,55,6,14,5,-30,3,-87,2,116,1,59,0,19,-1,-25,-3,-55,-4,-78,-5,-77,-6,-67,-7,-34,-8,21,-8,95,-9,-60,-10,46,-10,-71,-11,80,-11,-2,-12,-68,-12,-112,-12,110,-12,96,-12,92,-12,109,-12,-127,-12,-81,-12,-34,-12,35,-11,114,-11,-45,-11,62,-10,-67,-10,73,-9,-23,-9,-119,-8,81,-7,22,-6,-3,-6,-20,-5,-25,-4,-6,-3,1,-1,43,0,77,1,-124,2,-82,3,-33,4,12,6,31,7,63,8,62,9,55,10,22,11,-40,11,-120,12,17,13,127,13,-54,13,-6,13,1,14,-21,13,-76,13,85,13,-21,12,78,12,-89,11,-37,10,3,10,20,9,23,8,17,7,1,6,-30,4,-58,3,-92,2,-126,1,107,0,76,-1,74,-2,60,-3,66,-4,75,-5,100,-6,-120,-7,-72,-8,5,-8,76,-9,-79,-10,24,-10,-100,-11,37,-11,-54,-12,122,-12,66,-12,22,-12,1,-12,1,-12,16,-12,61,-12,114,-12,-56,-12,40,-11,-90,-11,52,-10,-42,-10,-116,-9,81,-8,34,-7,7,-6,-8,-6,-10,-5,-5,-4,7,-2,24,-1,40,0,51,1,62,2,75,3,70,4,67,5,41,6,9,7,-50,7,-117,8,54,9,-50,9,79,10,-64,10,25,11,88,11,-115,11,-96,11,-82,11,-105,11,124,11,63,11,-3,10,-96,10,57,10,-68,9,51,9,-104,8,-15,7,62,7,-123,6,-68,5,-28,4,12,4,33,3,60,2,68,1,94,0,99,-1,109,-2,113,-3,-128,-4,-119,-5,-95,-6,-72,-7,-27,-8,20,-8,78,-9,-101,-10,-15,-11,99,-11,-34,-12,120,-12,32,-12,-29,-13,-70,-13,-82,-13,-76,-13,-36,-13,17,-12,106,-12,-44,-12,90,-11,-12,-11,-92,-10,105,-9,64,-8,30,-7,22,-6,22,-5,36,-4,55,-3,84,-2,110,-1,-118,0,-96,1,-64,2,-50,3,-35,4,-41,5,-49,6,-89,7,125,8,61,9,-27,9,-125,10,-3,10,107,11,-71,11,-17,11,18,12,24,12,9,12,-34,11,-95,11,73,11,-29,10,99,10,-46,9,48,9,124,8,-66,7,-14,6,33,6,70,5,90,4,117,3,-125,2,-106,1,-92,0,-75,-1,-46,-2,-20,-3,6,-3,45,-4,86,-5,-114,-6,-55,-7,29,-7,109,-8,-44,-9,61,-9,-64,-10,70,-10,-25,-11,-109,-11,82,-11,32,-11,3,-11,-8,-12,-4,-12,30,-11,71,-11,-114,-11,-31,-11,76,-10,-52,-10,90,-9,-2,-9,-81,-8,107,-7,59,-6,24,-5,-4,-5,-16,-4,-31,-3,-30,-2,-37,-1,-47,0,-52,1,-61,2,-74,3,-102,4,126,5,71,6,15,7,-70,7,104,8,-10,8,122,9,-22,9,65,10,-114,10,-67,10,-28,10,-15,10,-19,10,-39,10,-82,10,119,10,47,10,-44,9,107,9,-15,8,105,8,-45,7,47,7,-124,6,-54,5,-1,4,45,4,80,3,103,2,127,1,-115,0,-103,-1,-104,-2,-98,-3,-100,-4,-90,-5,-86,-6,-64,-7,-35,-8,6,-8,56,-9,125,-10,-39,-11,64,-11,-50,-12,99,-12,37,-12,-17,-13,-28,-13,-19,-13,21,-12,90,-12,-74,-12,49,-11,-64,-11,107,-10,37,-9,-9,-9,-44,-8,-64,-7,-80,-6,-87,-5,-83,-4,-85,-3,-80,-2,-85,-1,-90,0,-119,1,117,2,76,3,32,4,-31,4,-105,5,63,6,-45,6,91,7,-34,7,73,8,-79,8,1,9,77,9,-122,9,-77,9,-41,9,-21,9,-12,9,-15,9,-37,9,-64,9,-114,9,86,9,2,9,-84,8,53,8,-64,7,40,7,-107,6,-29,5,35,5,89,4,124,3,-101,2,-87,1,-75,0,-63,-1,-58,-2,-56,-3,-49,-4,-40,-5,-14,-6,10,-6,71,-7,123,-8,-47,-9,46,-9,-85,-10,53,-10,-34,-11,-101,-11,112,-11,93,-11,90,-11,120,-11,-99,-11,-29,-11,47,-10,-110,-10,-3,-10,126,-9,1,-8,-106,-8,46,-7,-45,-7,112,-6,32,-5,-48,-5,-123,-4,66,-3,-7,-3,-67,-2,123,-1,60,0,0,1,-55,1,-110,2,95,3,36,4,-14,4,-84,5,113,6,43,7,-34,7,-119,8,36,9,-73,9,43,10,-97,10,-19,10,51,11,86,11,100,11,82,11,44,11,-31,10,-123,10,3,10,108,9,-70,8,-12,7,20,7,50,6,48,5,44,4,28,3,5,2,-13,0,-36,-1,-42,-2,-42,-3,-46,-4,-17,-5,10,-5,67,-6,-118,-7,-31,-8,92,-8,-42,-9,119,-9,25,-9,-36,-10,-89,-10,-119,-10,124,-10,118,-10,-122,-10,-104,-10}; }
	private static byte[] data7(){ return new byte[] {-67,-10,-20,-10,32,-9,96,-9,-86,-9,-6,-9,89,-8,-69,-8,45,-7,-92,-7,42,-6,-79,-6,73,-5,-16,-5,-100,-4,90,-3,27,-2,-21,-2,-74,-1,-109,0,115,1,87,2,58,3,28,4,-7,4,-57,5,-107,6,83,7,4,8,-94,8,45,9,-95,9,1,10,66,10,114,10,-126,10,-127,10,93,10,42,10,-37,9,123,9,6,9,125,8,-22,7,66,7,-104,6,-31,5,40,5,108,4,-91,3,-26,2,33,2,100,1,-93,0,-18,-1,61,-1,-111,-2,-32,-3,62,-3,-105,-4,-4,-5,95,-5,-42,-6,60,-6,-70,-7,42,-7,-80,-8,48,-8,-60,-9,87,-9,-2,-10,-90,-10,101,-10,44,-10,10,-10,-8,-11,-6,-11,17,-10,65,-10,-125,-10,-23,-10,86,-9,-19,-9,-116,-8,67,-7,18,-6,-17,-6,-28,-5,-38,-4,-26,-3,-17,-2,0,0,9,1,19,2,25,3,19,4,0,5,-34,5,-88,6,91,7,-6,7,-119,8,-10,8,89,9,-106,9,-57,9,-39,9,-37,9,-55,9,-92,9,112,9,39,9,-36,8,118,8,25,8,-93,7,45,7,-79,6,39,6,-92,5,16,5,-119,4,-17,3,86,3,-74,2,20,2,106,1,-61,0,21,0,103,-1,-83,-2,-11,-3,59,-3,-128,-4,-57,-5,16,-5,99,-6,-72,-7,18,-7,125,-8,-20,-9,116,-9,2,-9,-81,-10,100,-10,56,-10,26,-10,26,-10,46,-10,89,-10,-98,-10,-14,-10,103,-9,-28,-9,125,-8,31,-7,-46,-7,-112,-6,81,-5,30,-4,-16,-4,-63,-3,-106,-2,101,-1,49,0,-16,0,-80,1,99,2,20,3,-75,3,80,4,-33,4,94,5,-40,5,75,6,-79,6,16,7,100,7,-80,7,-13,7,41,8,90,8,-127,8,-101,8,-79,8,-82,8,-81,8,-106,8,118,8,68,8,-1,7,-81,7,71,7,-42,6,78,6,-67,5,15,5,89,4,-109,3,-67,2,-31,1,-5,0,17,0,36,-1,46,-2,64,-3,86,-4,111,-5,-104,-6,-47,-7,18,-7,107,-8,-50,-9,80,-9,-30,-10,-115,-10,85,-10,44,-10,33,-10,41,-10,72,-10,126,-10,-58,-10,30,-9,-118,-9,-3,-9,-121,-8,20,-7,-81,-7,78,-6,-11,-6,-103,-5,71,-4,-11,-4,-88,-3,84,-2,8,-1,-77,-1,98,0,5,1,-82,1,81,2,-8,2,-109,3,47,4,-60,4,78,5,-37,5,91,6,-40,6,72,7,-82,7,11,8,85,8,-106,8,-56,8,-26,8,-10,8,-13,8,-36,8,-74,8,120,8,47,8,-57,7,90,7,-45,6,64,6,-98,5,-10,4,60,4,125,3,-78,2,-26,1,25,1,71,0,-124,-1,-73,-2,-11,-3,57,-3,-125,-4,-35,-5,59,-5,-85,-6,42,-6,-79,-7,69,-7,-22,-8,-105,-8,86,-8,33,-8,-7,-9,-34,-9,-48,-9,-57,-9,-42,-9,-27,-9,6,-8,48,-8,95,-8,-87,-8,-21,-8,75,-7,-91,-7,22,-6,-112,-6,9,-5,-100,-5,47,-4,-45,-4,126,-3,47,-2,-21,-2,-95,-1,106,0,43,1,-7,1,-69,2,-122,3,65,4,-6,4,-87,5,79,6,-19,6,116,7,-9,7,89,8,-69,8,-12,8,45,9,65,9,79,9,58,9,28,9,-32,8,-102,8,62,8,-49,7,81,7,-56,6,43,6,-115,5,-29,4,47,4,120,3,-73,2,-6,1,57,1,118,0,-68,-1,2,-1,82,-2,-102,-3,-11,-4,75,-4,-75,-5,30,-5,-98,-6,26,-6,-88,-7,60,-7,-33,-8,-116,-8,73,-8,14,-8,-25,-9,-57,-9,-72,-9,-73,-9,-60,-9,-32,-9,12,-8,65,-8,-117,-8,-34,-8,69,-7,-77,-7,48,-6,-69,-6,70,-5,-23,-5,-122,-4,59,-3,-26,-3,-94,-2,90,-1,17,0,-53,0,124,1,56,2,-31,2,-112,3,44,4,-53,4,78,5,-41,5,74,6,-73,6,19,7,101,7,-95,7,-40,7,-13,7,18,8,17,8,14,8,-11,7,-46,7,-95,7,99,7,27,7,-61,6,97,6,-10,5,123,5,3,5,118,4,-16,3,80,3,-70,2,21,2,110,1,-57,0,29,0,119,-1,-60,-2,30,-2,111,-3,-50,-4,43,-4,-111,-5,1,-5,119,-6,-14,-7,126,-7,15,-7,-79,-8,96,-8,27,-8,-22,-9,-63,-9,-81,-9,-89,-9,-76,-9,-48,-9,-6,-9,55,-8,-126,-8,-32,-8,70,-7,-62,-7,66,-6,-40,-6,104,-5,19,-4,-72,-4,112,-3,40,-2,-33,-2,-91,-1,86,0,25,1,-48,1,-117,2,56,3,-23,3,-124,4,30,5,-89,5,45,6,-96,6,8,7,97,7,-86,7,-28,7,13,8,38,8,49,8,40,8,22,8,-20,7,-71,7,118,7,38,7,-56,6,93,6,-23,5,103,5,-31,4,86,4,-69,3,38,3,125,2,-32,1,53,1,-110,0,-24,-1,75,-1,-89,-2,8,-2,107,-3,-41,-4,66,-4,-65,-5,61,-5,-58,-6,85,-6,-20,-7,-109,-7,63,-7,-4,-8,-62,-8,-106,-8}; }
	private static byte[] data8(){ return new byte[] {116,-8,96,-8,94,-8,97,-8,125,-8,-102,-8,-49,-8,9,-7,89,-7,-80,-7,23,-6,-121,-6,3,-5,-120,-5,17,-4,-79,-4,70,-3,-14,-3,-106,-2,67,-1,-17,-1,-107,0,65,1,-23,1,-113,2,42,3,-58,3,82,4,-40,4,81,5,-57,5,41,6,-120,6,-46,6,21,7,67,7,110,7,126,7,-107,7,-123,7,-127,7,92,7,56,7,1,7,-60,6,116,6,30,6,-66,5,77,5,-32,4,95,4,-35,3,78,3,-70,2,32,2,127,1,-36,0,57,0,-110,-1,-28,-2,60,-2,-111,-3,-20,-4,74,-4,-85,-5,30,-5,-115,-6,13,-6,-108,-7,41,-7,-53,-8,127,-8,65,-8,20,-8,-8,-9,-21,-9,-10,-9,13,-8,55,-8,117,-8,-67,-8,28,-7,-121,-7,-4,-7,-126,-6,16,-5,-89,-5,68,-4,-30,-4,-111,-3,53,-2,-27,-2,-115,-1,53,0,-44,0,117,1,13,2,-94,2,46,3,-81,3,48,4,-106,4,7,5,96,5,-70,5,4,6,72,6,126,6,-81,6,-50,6,-21,6,-6,6,0,7,-6,6,-19,6,-51,6,-81,6,122,6,66,6,-11,5,-85,5,67,5,-28,4,111,4,-12,3,111,3,-35,2,74,2,-87,1,11,1,96,0,-62,-1,20,-1,112,-2,-60,-3,40,-3,-122,-4,-11,-5,109,-5,-24,-6,117,-6,7,-6,-81,-7,91,-7,34,-7,-20,-8,-46,-8,-72,-8,-69,-8,-64,-8,-34,-8,0,-7,54,-7,114,-7,-71,-7,15,-6,101,-6,-47,-6,52,-5,-83,-5,24,-4,-103,-4,22,-3,-102,-3,34,-2,-88,-2,55,-1,-65,-1,76,0,-41,0,102,1,-7,1,124,2,18,3,-112,3,25,4,-110,4,20,5,125,5,-13,5,76,6,-87,6,-15,6,46,7,98,7,-128,7,-108,7,-107,7,-124,7,100,7,49,7,-15,6,-103,6,58,6,-63,5,69,5,-76,4,35,4,-128,3,-40,2,42,2,119,1,-57,0,17,0,106,-1,-68,-2,20,-2,122,-3,-34,-4,87,-4,-46,-5,93,-5,-9,-6,-104,-6,72,-6,1,-6,-54,-7,-99,-7,122,-7,104,-7,91,-7,91,-7,99,-7,119,-7,-113,-7,-73,-7,-33,-7,19,-6,81,-6,-109,-6,-31,-6,53,-5,-114,-5,-13,-5,88,-4,-55,-4,70,-3,-63,-3,72,-2,-43,-2,97,-1,-10,-1,-121,0,36,1,-69,1,83,2,-21,2,121,3,4,4,-120,4,2,5,121,5,-38,5,57,6,-125,6,-65,6,-17,6,9,7,29,7,23,7,8,7,-24,6,-75,6,125,6,49,6,-36,5,124,5,16,5,-95,4,36,4,-80,3,41,3,-90,2,32,2,-108,1,18,1,-123,0,3,0,-124,-1,0,-1,-122,-2,6,-2,-111,-3,28,-3,-85,-4,68,-4,-35,-5,121,-5,30,-5,-61,-6,119,-6,41,-6,-19,-7,-79,-7,-125,-7,94,-7,66,-7,56,-7,49,-7,70,-7,85,-7,-121,-7,-73,-7,3,-6,82,-6,-69,-6,37,-5,-93,-5,41,-4,-67,-4,89,-3,-3,-3,-93,-2,83,-1,-1,-1,-86,0,84,1,-2,1,-97,2,58,3,-53,3,80,4,-53,4,53,5,-104,5,-22,5,46,6,100,6,-117,6,-95,6,-83,6,-83,6,-101,6,-124,6,94,6,45,6,-9,5,-76,5,113,5,27,5,-50,4,103,4,19,4,-95,3,71,3,-49,2,102,2,-21,1,118,1,-6,0,124,0,3,0,-127,-1,-3,-2,124,-2,-6,-3,118,-3,-3,-4,121,-4,14,-4,-108,-5,48,-5,-58,-6,114,-6,30,-6,-37,-7,-91,-7,120,-7,94,-7,76,-7,79,-7,92,-7,124,-7,-90,-7,-30,-7,40,-6,-127,-6,-37,-6,78,-5,-68,-5,60,-4,-70,-4,62,-3,-48,-3,86,-2,-20,-2,114,-1,4,0,-121,0,10,1,-111,1,7,2,-125,2,-17,2,92,3,-72,3,20,4,108,4,-76,4,0,5,57,5,115,5,-95,5,-57,5,-25,5,-1,5,10,6,21,6,11,6,5,6,-23,5,-52,5,-98,5,104,5,40,5,-41,4,-123,4,35,4,-72,3,68,3,-64,2,64,2,-85,1,28,1,-127,0,-21,-1,79,-1,-80,-2,22,-2,127,-3,-22,-4,97,-4,-32,-5,100,-5,-7,-6,-111,-6,63,-6,-12,-7,-69,-7,-112,-7,119,-7,100,-7,104,-7,117,-7,-110,-7,-67,-7,-17,-7,49,-6,122,-6,-50,-6,43,-5,-117,-5,-7,-5,100,-4,-42,-4,73,-3,-61,-3,62,-2,-70,-2,54,-1,-77,-1,45,0,-89,0,27,1,-104,1,9,2,125,2,-21,2,85,3,-73,3,25,4,115,4,-58,4,21,5,88,5,-107,5,-59,5,-18,5,11,6,32,6,35,6,32,6,12,6,-18,5,-58,5,-115,5,75,5,-2,4,-96,4,68,4,-50,3,104,3,-30,2,107,2,-36,1,90,1,-52,0,64,0,-67,-1,48,-1,-82,-2,44,-2,-83,-3,59,-3,-57,-4,100,-4,4,-4,-80,-5,96,-5,27,-5,-32,-6,-84,-6}; }
	private static byte[] data9(){ return new byte[] {-122,-6,101,-6,81,-6,66,-6,64,-6,70,-6,81,-6,108,-6,-121,-6,-77,-6,-32,-6,29,-5,91,-5,-90,-5,-9,-5,77,-4,-82,-4,16,-3,-128,-3,-15,-3,106,-2,-25,-2,102,-1,-25,-1,107,0,-14,0,120,1,-4,1,127,2,-2,2,115,3,-25,3,82,4,-73,4,17,5,97,5,-93,5,-33,5,6,6,40,6,57,6,59,6,53,6,28,6,-6,5,-53,5,-113,5,74,5,-8,4,-100,4,58,4,-50,3,96,3,-20,2,110,2,-17,1,114,1,-24,0,111,0,-28,-1,112,-1,-21,-2,117,-2,-5,-3,-120,-3,29,-3,-77,-4,86,-4,-3,-5,-89,-5,94,-5,25,-5,-32,-6,-83,-6,-119,-6,102,-6,85,-6,70,-6,73,-6,80,-6,101,-6,-126,-6,-87,-6,-36,-6,23,-5,92,-5,-87,-5,3,-4,92,-4,-60,-4,42,-3,-96,-3,20,-2,-113,-2,10,-1,-118,-1,10,0,-123,0,2,1,126,1,-11,1,110,2,-40,2,70,3,-95,3,-1,3,80,4,-97,4,-38,4,26,5,63,5,107,5,127,5,-110,5,-105,5,-109,5,-125,5,112,5,69,5,38,5,-24,4,-76,4,106,4,33,4,-52,3,112,3,25,3,-84,2,74,2,-44,1,105,1,-17,0,124,0,6,0,-113,-1,24,-1,-95,-2,44,-2,-69,-3,76,-3,-28,-4,-126,-4,37,-4,-51,-5,125,-5,53,-5,-7,-6,-65,-6,-102,-6,116,-6,95,-6,84,-6,79,-6,96,-6,109,-6,-108,-6,-75,-6,-12,-6,42,-5,123,-5,-57,-5,35,-4,-122,-4,-24,-4,92,-3,-53,-3,72,-2,-63,-2,63,-1,-62,-1,57,0,-67,0,57,1,-77,1,46,2,-98,2,12,3,114,3,-50,3,45,4,119,4,-61,4,-5,4,52,5,86,5,124,5,-121,5,-106,5,-112,5,-121,5,107,5,78,5,31,5,-18,4,-82,4,105,4,24,4,-58,3,102,3,11,3,-94,2,57,2,-56,1,92,1,-30,0,118,0,-5,-1,-110,-1,27,-1,-81,-2,62,-2,-39,-3,110,-3,19,-3,-74,-4,98,-4,22,-4,-57,-5,-113,-5,78,-5,36,-5,-6,-6,-37,-6,-57,-6,-72,-6,-73,-6,-67,-6,-52,-6,-23,-6,8,-5,55,-5,107,-5,-86,-5,-14,-5,64,-4,-105,-4,-17,-4,85,-3,-70,-3,42,-2,-104,-2,13,-1,-127,-1,-7,-1,104,0,-31,0,81,1,-61,1,48,2,-106,2,-3,2,82,3,-85,3,-6,3,62,4,-127,4,-77,4,-30,4,5,5,30,5,48,5,56,5,53,5,45,5,20,5,-5,4,-45,4,-86,4,111,4,50,4,-17,3,-98,3,80,3,-7,2,-105,2,59,2,-53,1,100,1,-11,0,-125,0,20,0,-95,-1,42,-1,-69,-2,69,-2,-41,-3,108,-3,1,-3,-90,-4,68,-4,-14,-5,-94,-5,91,-5,35,-5,-22,-6,-54,-6,-89,-6,-103,-6,-114,-6,-105,-6,-93,-6,-61,-6,-27,-6,24,-5,83,-5,-103,-5,-28,-5,62,-4,-106,-4,-1,-4,95,-3,-49,-3,60,-2,-79,-2,33,-1,-105,-1,7,0,118,0,-28,0,80,1,-75,1,28,2,119,2,-47,2,34,3,107,3,-75,3,-14,3,43,4,93,4,-122,4,-87,4,-63,4,-40,4,-34,4,-24,4,-35,4,-42,4,-65,4,-92,4,-128,4,82,4,32,4,-30,3,-96,3,83,3,7,3,-85,2,81,2,-21,1,-124,1,24,1,-88,0,56,0,-55,-1,87,-1,-28,-2,119,-2,6,-2,-95,-3,59,-3,-34,-4,-116,-4,52,-4,-12,-5,-83,-5,125,-5,77,-5,45,-5,21,-5,3,-5,3,-5,3,-5,22,-5,42,-5,77,-5,116,-5,-92,-5,-35,-5,25,-4,96,-4,-87,-4,-9,-4,76,-3,-99,-3,-3,-3,87,-2,-71,-2,27,-1,126,-1,-32,-1,70,0,-90,0,14,1,111,1,-46,1,49,2,-111,2,-29,2,60,3,-116,3,-41,3,31,4,89,4,-108,4,-65,4,-26,4,3,5,18,5,30,5,24,5,14,5,-15,4,-45,4,-96,4,107,4,40,4,-39,3,-118,3,39,3,-53,2,97,2,-15,1,-126,1,12,1,-105,0,34,0,-79,-1,60,-1,-48,-2,97,-2,-1,-3,-103,-3,68,-3,-22,-4,-88,-4,93,-4,36,-4,-18,-5,-62,-5,-97,-5,-128,-5,113,-5,96,-5,94,-5,97,-5,104,-5,125,-5,-111,-5,-78,-5,-45,-5,1,-4,49,-4,104,-4,-88,-4,-26,-4,52,-3,120,-3,-47,-3,34,-2,-126,-2,-35,-2,65,-1,-90,-1,8,0,113,0,-40,0,65,1,-89,1,13,2,107,2,-53,2,26,3,119,3,-72,3,5,4,57,4,110,4,-103,4,-78,4,-51,4,-47,4,-41,4,-56,4,-71,4,-106,4,115,4,67,4,11,4,-53,3,-120,3,57,3,-22,2,-104,2,61,2,-27,1,-123,1,40,1,-57,0,104,0,10,0,-84,-1,83,-1,-11,-2,-100,-2,72,-2,-14,-3,-93,-3,87,-3,17,-3,-56,-4,-116,-4}; }
	private static byte[] data10(){ return new byte[] {77,-4,24,-4,-22,-5,-66,-5,-100,-5,-127,-5,105,-5,98,-5,86,-5,99,-5,106,-5,-124,-5,-93,-5,-53,-5,-1,-5,60,-4,125,-4,-49,-4,28,-3,122,-3,-36,-3,65,-2,-80,-2,27,-1,-113,-1,0,0,109,0,-31,0,75,1,-69,1,28,2,-127,2,-41,2,45,3,114,3,-69,3,-15,3,39,4,74,4,110,4,124,4,-111,4,-115,4,-114,4,126,4,105,4,79,4,41,4,3,4,-46,3,-99,3,99,3,34,3,-30,2,-106,2,81,2,1,2,-81,1,91,1,6,1,-86,0,85,0,-8,-1,-95,-1,63,-1,-21,-2,-120,-2,53,-2,-38,-3,-121,-3,57,-3,-17,-4,-94,-4,102,-4,39,-4,-11,-5,-54,-5,-92,-5,-115,-5,118,-5,115,-5,111,-5,127,-5,-114,-5,-79,-5,-46,-5,9,-4,58,-4,126,-4,-61,-4,18,-3,99,-3,-72,-3,18,-2,113,-2,-49,-2,49,-1,-111,-1,-14,-1,79,0,-85,0,7,1,94,1,-77,1,4,2,79,2,-107,2,-41,2,20,3,78,3,126,3,-82,3,-45,3,-12,3,18,4,32,4,53,4,56,4,61,4,50,4,44,4,17,4,-3,3,-42,3,-84,3,125,3,67,3,6,3,-65,2,120,2,31,2,-50,1,109,1,17,1,-86,0,70,0,-31,-1,121,-1,18,-1,-84,-2,71,-2,-22,-3,-118,-3,59,-3,-27,-4,-96,-4,93,-4,35,-4,-13,-5,-56,-5,-81,-5,-106,-5,-114,-5,-120,-5,-111,-5,-97,-5,-69,-5,-41,-5,3,-4,45,-4,106,-4,-97,-4,-28,-4,43,-3,113,-3,-61,-3,12,-2,103,-2,-74,-2,17,-1,101,-1,-65,-1,23,0,105,0,-62,0,19,1,107,1,-72,1,9,2,80,2,-101,2,-42,2,30,3,80,3,-118,3,-75,3,-33,3,-3,3,25,4,43,4,54,4,56,4,52,4,36,4,16,4,-16,3,-51,3,-100,3,104,3,42,3,-25,2,-98,2,81,2,0,2,-91,1,79,1,-17,0,-108,0,52,0,-39,-1,123,-1,33,-1,-57,-2,113,-2,31,-2,-46,-3,-121,-3,73,-3,8,-3,-47,-4,-95,-4,114,-4,81,-4,46,-4,30,-4,6,-4,5,-4,-8,-5,4,-4,7,-4,31,-4,46,-4,83,-4,111,-4,-96,-4,-55,-4,4,-3,59,-3,123,-3,-63,-3,3,-2,88,-2,-93,-2,-5,-2,80,-1,-88,-1,3,0,87,0,-68,0,14,1,108,1,-61,1,20,2,102,2,-80,2,-7,2,57,3,117,3,-88,3,-42,3,-6,3,23,4,41,4,56,4,54,4,52,4,36,4,13,4,-18,3,-56,3,-103,3,100,3,40,3,-28,2,-95,2,82,2,11,2,-81,1,96,1,5,1,-82,0,84,0,-3,-1,-92,-1,81,-1,-8,-2,-88,-2,85,-2,12,-2,-63,-3,-128,-3,64,-3,5,-3,-48,-4,-95,-4,121,-4,83,-4,58,-4,36,-4,19,-4,16,-4,9,-4,22,-4,31,-4,55,-4,81,-4,115,-4,-98,-4,-52,-4,4,-3,62,-3,-128,-3,-58,-3,9,-2,96,-2,-88,-2,5,-1,83,-1,-81,-1,4,0,88,0,-79,0,2,1,90,1,-92,1,-7,1,55,2,-124,2,-70,2,-6,2,42,3,92,3,126,3,-92,3,-70,3,-52,3,-36,3,-38,3,-32,3,-51,3,-58,3,-90,3,-111,3,103,3,65,3,15,3,-39,2,-93,2,93,2,35,2,-40,1,-113,1,65,1,-13,0,-96,0,78,0,0,0,-89,-1,92,-1,1,-1,-71,-2,100,-2,30,-2,-45,-3,-110,-3,82,-3,23,-3,-32,-4,-77,-4,-123,-4,102,-4,71,-4,51,-4,36,-4,30,-4,27,-4,40,-4,50,-4,78,-4,102,-4,-113,-4,-70,-4,-20,-4,42,-3,99,-3,-84,-3,-18,-3,58,-2,-118,-2,-38,-2,45,-1,-126,-1,-44,-1,40,0,121,0,-53,0,26,1,105,1,-77,1,-3,1,60,2,126,2,-72,2,-20,2,34,3,69,3,112,3,-118,3,-96,3,-79,3,-68,3,-70,3,-68,3,-87,3,-101,3,-127,3,97,3,59,3,15,3,-34,2,-93,2,109,2,40,2,-24,1,-98,1,83,1,6,1,-74,0,103,0,18,0,-56,-1,116,-1,37,-1,-40,-2,-116,-2,64,-2,0,-2,-70,-3,-126,-3,70,-3,20,-3,-27,-4,-67,-4,-100,-4,126,-4,111,-4,90,-4,89,-4,82,-4,94,-4,103,-4,126,-4,-105,-4,-74,-4,-33,-4,12,-3,60,-3,118,-3,-78,-3,-18,-3,53,-2,123,-2,-59,-2,20,-1,95,-1,-79,-1,0,0,77,0,-101,0,-20,0,51,1,-124,1,-60,1,12,2,71,2,-125,2,-71,2,-19,2,19,3,64,3,90,3,118,3,-120,3,-108,3,-104,3,-100,3,-116,3,-120,3,103,3,87,3,44,3,10,3,-36,2,-89,2,115,2,50,2,-9,1,-77,1,107,1,35,1,-44,0,-116,0,55,0,-13,-1,-98,-1,85,-1,7,-1,-67,-2,118,-2,47,-2,-15,-3,-78,-3}; }
	private static byte[] data11(){ return new byte[] {125,-3,70,-3,23,-3,-17,-4,-55,-4,-82,-4,-107,-4,-122,-4,122,-4,119,-4,121,-4,-124,-4,-110,-4,-87,-4,-58,-4,-25,-4,17,-3,62,-3,113,-3,-86,-3,-27,-3,36,-2,101,-2,-81,-2,-12,-2,66,-1,-116,-1,-37,-1,33,0,115,0,-71,0,11,1,75,1,-104,1,-45,1,24,2,78,2,-121,2,-72,2,-26,2,13,3,46,3,74,3,95,3,110,3,118,3,121,3,116,3,105,3,89,3,64,3,36,3,1,3,-42,2,-86,2,115,2,64,2,1,2,-57,1,126,1,60,1,-13,0,-88,0,98,0,14,0,-49,-1,123,-1,55,-1,-20,-2,-91,-2,99,-2,33,-2,-26,-3,-81,-3,118,-3,74,-3,30,-3,-8,-4,-38,-4,-64,-4,-85,-4,-93,-4,-106,-4,-101,-4,-102,-4,-82,-4,-69,-4,-42,-4,-13,-4,22,-3,67,-3,111,-3,-92,-3,-36,-3,19,-2,88,-2,-108,-2,-34,-2,35,-1,108,-1,-74,-1,1,0,69,0,-109,0,-39,0,32,1,101,1,-90,1,-27,1,31,2,84,2,-118,2,-78,2,-30,2,-2,2,35,3,50,3,74,3,81,3,89,3,87,3,80,3,65,3,47,3,20,3,-9,2,-46,2,-90,2,119,2,70,2,9,2,-41,1,-113,1,85,1,11,1,-56,0,126,0,56,0,-17,-1,-87,-1,95,-1,25,-1,-43,-2,-113,-2,85,-2,18,-2,-32,-3,-87,-3,118,-3,80,-3,36,-3,5,-3,-21,-4,-45,-4,-59,-4,-69,-4,-74,-4,-68,-4,-63,-4,-45,-4,-28,-4,1,-3,33,-3,68,-3,116,-3,-100,-3,-42,-3,12,-2,67,-2,-121,-2,-62,-2,11,-1,77,-1,-107,-1,-35,-1,33,0,103,0,-79,0,-14,0,56,1,120,1,-76,1,-15,1,35,2,90,2,-122,2,-79,2,-43,2,-11,2,12,3,36,3,44,3,58,3,56,3,52,3,45,3,24,3,10,3,-25,2,-52,2,-96,2,123,2,71,2,22,2,-34,1,-92,1,101,1,36,1,-30,0,-98,0,87,0,18,0,-50,-1,-121,-1,68,-1,0,-1,-66,-2,-127,-2,66,-2,14,-2,-41,-3,-89,-3,122,-3,83,-3,47,-3,21,-3,-7,-4,-20,-4,-37,-4,-40,-4,-42,-4,-35,-4,-26,-4,-6,-4,12,-3,46,-3,74,-3,118,-3,-100,-3,-47,-3,1,-2,57,-2,115,-2,-80,-2,-13,-2,49,-1,120,-1,-69,-1,-1,-1,68,0,-123,0,-54,0,13,1,74,1,-118,1,-64,1,-6,1,41,2,90,2,-123,2,-88,2,-51,2,-28,2,-4,2,11,3,23,3,26,3,27,3,18,3,8,3,-14,2,-32,2,-68,2,-94,2,115,2,77,2,26,2,-25,1,-79,1,118,1,59,1,-8,0,-68,0,115,0,52,0,-15,-1,-82,-1,108,-1,41,-1,-22,-2,-86,-2,114,-2,54,-2,7,-2,-45,-3,-90,-3,126,-3,91,-3,57,-3,37,-3,11,-3,3,-3,-12,-4,-12,-4,-11,-4,-2,-4,13,-3,29,-3,56,-3,84,-3,119,-3,-95,-3,-54,-3,-3,-3,46,-2,101,-2,-97,-2,-36,-2,27,-1,89,-1,-97,-1,-36,-1,33,0,96,0,-93,0,-30,0,33,1,92,1,-103,1,-56,1,1,2,43,2,91,2,127,2,-96,2,-63,2,-45,2,-21,2,-13,2,-2,2,-2,2,-6,2,-14,2,-31,2,-48,2,-76,2,-105,2,116,2,73,2,33,2,-20,1,-65,1,-124,1,78,1,14,1,-47,0,-108,0,80,0,17,0,-46,-1,-112,-1,80,-1,21,-1,-46,-2,-99,-2,99,-2,48,-2,0,-2,-47,-3,-88,-3,-124,-3,99,-3,72,-3,51,-3,35,-3,20,-3,19,-3,14,-3,22,-3,32,-3,48,-3,67,-3,96,-3,125,-3,-95,-3,-52,-3,-11,-3,40,-2,89,-2,-115,-2,-52,-2,1,-1,69,-1,127,-1,-65,-1,2,0,60,0,126,0,-68,0,-9,0,53,1,108,1,-94,1,-44,1,2,2,48,2,86,2,120,2,-103,2,-80,2,-59,2,-42,2,-38,2,-26,2,-33,2,-35,2,-50,2,-65,2,-88,2,-114,2,111,2,71,2,37,2,-16,1,-56,1,-113,1,93,1,37,1,-27,0,-81,0,107,0,49,0,-16,-1,-73,-1,114,-1,61,-1,-6,-2,-58,-2,-117,-2,90,-2,40,-2,-4,-3,-47,-3,-83,-3,-119,-3,110,-3,87,-3,66,-3,58,-3,43,-3,44,-3,45,-3,52,-3,67,-3,83,-3,104,-3,-120,-3,-93,-3,-50,-3,-16,-3,37,-2,75,-2,-120,-2,-77,-2,-12,-2,41,-1,104,-1,-94,-1,-29,-1,27,0,92,0,-107,0,-44,0,10,1,70,1,121,1,-86,1,-37,1,4,2,48,2,80,2,115,2,-117,2,-93,2,-76,2,-67,2,-56,2,-58,2,-59,2,-68,2,-83,2,-100,2,-125,2,104,2,69,2,35,2,-8,1,-54,1,-97,1,103,1,55,1,-6,0,-59,0,-123,0,77,0,16,0,-45,-1,-102,-1,93,-1,34,-1,-19,-2,-77,-2}; }
	private static byte[] data12(){ return new byte[] {-127,-2,82,-2,35,-2,-7,-3,-43,-3,-82,-3,-106,-3,118,-3,106,-3,83,-3,77,-3,70,-3,69,-3,75,-3,84,-3,99,-3,118,-3,-111,-3,-88,-3,-48,-3,-17,-3,31,-2,71,-2,120,-2,-87,-2,-33,-2,21,-1,83,-1,-124,-1,-53,-1,-5,-1,59,0,118,0,-85,0,-22,0,27,1,84,1,-124,1,-77,1,-35,1,8,2,42,2,78,2,102,2,-125,2,-114,2,-91,2,-91,2,-78,2,-87,2,-86,2,-102,2,-115,2,121,2,93,2,68,2,30,2,-5,1,-48,1,-91,1,116,1,69,1,13,1,-40,0,-96,0,100,0,47,0,-16,-1,-67,-1,124,-1,74,-1,13,-1,-36,-2,-88,-2,117,-2,76,-2,31,-2,-7,-3,-39,-3,-77,-3,-95,-3,-124,-3,119,-3,105,-3,98,-3,94,-3,97,-3,104,-3,114,-3,-122,-3,-105,-3,-75,-3,-50,-3,-10,-3,22,-2,70,-2,108,-2,-97,-2,-48,-2,1,-1,64,-1,107,-1,-81,-1,-31,-1,27,0,85,0,-118,0,-58,0,-10,0,47,1,94,1,-116,1,-71,1,-33,1,8,2,38,2,70,2,94,2,113,2,-125,2,-116,2,-108,2,-107,2,-110,2,-119,2,125,2,108,2,85,2,61,2,27,2,-4,1,-45,1,-85,1,-128,1,79,1,31,1,-23,0,-73,0,125,0,70,0,14,0,-40,-1,-97,-1,108,-1,47,-1,1,-1,-53,-2,-100,-2,113,-2,69,-2,31,-2,-6,-3,-37,-3,-64,-3,-89,-3,-106,-3,-121,-3,123,-3,123,-3,116,-3,127,-3,-126,-3,-106,-3,-95,-3,-65,-3,-45,-3,-9,-3,24,-2,60,-2,107,-2,-112,-2,-59,-2,-15,-2,41,-1,91,-1,-111,-1,-53,-1,-3,-1,57,0,105,0,-92,0,-45,0,12,1,58,1,104,1,-108,1,-69,1,-30,1,5,2,33,2,61,2,82,2,99,2,113,2,120,2,127,2,121,2,121,2,107,2,95,2,75,2,50,2,27,2,-9,1,-40,1,-81,1,-124,1,94,1,41,1,-2,0,-58,0,-106,0,93,0,41,0,-11,-1,-66,-1,-119,-1,85,-1,31,-1,-14,-2,-67,-2,-107,-2,105,-2,66,-2,32,-2,-5,-3,-29,-3,-57,-3,-75,-3,-92,-3,-104,-3,-110,-3,-114,-3,-111,-3,-105,-3,-95,-3,-77,-3,-61,-3,-33,-3,-9,-3,24,-2,62,-2,95,-2,-113,-2,-75,-2,-27,-2,24,-1,69,-1,126,-1,-81,-1,-25,-1,23,0,79,0,-127,0,-74,0,-24,0,22,1,71,1,111,1,-103,1,-65,1,-32,1,2,2,25,2,54,2,66,2,87,2,92,2,102,2,101,2,100,2,89,2,82,2,62,2,44,2,19,2,-12,1,-39,1,-78,1,-116,1,101,1,54,1,12,1,-40,0,-86,0,114,0,68,0,11,0,-36,-1,-90,-1,116,-1,65,-1,18,-1,-31,-2,-74,-2,-115,-2,100,-2,66,-2,31,-2,2,-2,-23,-3,-47,-3,-60,-3,-78,-3,-84,-3,-91,-3,-91,-3,-85,-3,-77,-3,-66,-3,-48,-3,-28,-3,-2,-3,27,-2,59,-2,93,-2,-121,-2,-86,-2,-36,-2,5,-1,55,-1,104,-1,-104,-1,-50,-1,0,0,49,0,100,0,-105,0,-58,0,-9,0,36,1,79,1,119,1,-101,1,-62,1,-36,1,-1,1,16,2,43,2,53,2,69,2,77,2,77,2,81,2,73,2,62,2,55,2,28,2,17,2,-19,1,-38,1,-79,1,-110,1,107,1,63,1,27,1,-26,0,-69,0,-119,0,88,0,37,0,-9,-1,-63,-1,-109,-1,95,-1,50,-1,1,-1,-39,-2,-85,-2,-121,-2,99,-2,64,-2,34,-2,9,-2,-17,-3,-33,-3,-49,-3,-60,-3,-66,-3,-68,-3,-69,-3,-58,-3,-55,-3,-33,-3,-20,-3,5,-2,29,-2,59,-2,92,-2,-128,-2,-89,-2,-50,-2,-7,-2,39,-1,85,-1,-123,-1,-74,-1,-24,-1,21,0,76,0,116,0,-83,0,-45,0,6,1,46,1,85,1,124,1,-98,1,-64,1,-37,1,-11,1,10,2,29,2,40,2,54,2,54,2,59,2,56,2,46,2,40,2,21,2,4,2,-18,1,-49,1,-71,1,-112,1,115,1,73,1,34,1,-9,0,-53,0,-102,0,111,0,58,0,14,0,-35,-1,-83,-1,126,-1,78,-1,35,-1,-10,-2,-51,-2,-88,-2,-127,-2,97,-2,67,-2,36,-2,18,-2,-9,-3,-19,-3,-36,-3,-42,-3,-46,-3,-49,-3,-42,-3,-38,-3,-22,-3,-9,-3,12,-2,33,-2,61,-2,91,-2,125,-2,-97,-2,-58,-2,-19,-2,25,-1,68,-1,115,-1,-96,-1,-45,-1,-3,-1,48,0,91,0,-114,0,-74,0,-24,0,12,1,57,1,92,1,125,1,-94,1,-68,1,-41,1,-17,1,-2,1,17,2,26,2,35,2,36,2,37,2,31,2,24,2,10,2,-5,1,-27,1,-48,1,-77,1,-107,1,118,1,77,1,47,1,0,1,-38,0,-84,0,-128,0,80,0,38,0,-13,-1,-55,-1,-103,-1,107,-1}; }
	private static byte[] data13(){ return new byte[] {64,-1,21,-1,-21,-2,-57,-2,-97,-2,-125,-2,92,-2,73,-2,40,-2,25,-2,4,-2,-9,-3,-19,-3,-24,-3,-29,-3,-25,-3,-20,-3,-10,-3,2,-2,20,-2,38,-2,67,-2,90,-2,122,-2,-99,-2,-68,-2,-26,-2,12,-1,53,-1,99,-1,-115,-1,-70,-1,-20,-1,18,0,70,0,110,0,-99,0,-56,0,-15,0,24,1,62,1,96,1,-127,1,-95,1,-74,1,-43,1,-29,1,-10,1,4,2,8,2,19,2,16,2,14,2,10,2,-3,1,-14,1,-36,1,-51,1,-82,1,-104,1,118,1,86,1,51,1,13,1,-26,0,-69,0,-111,0,102,0,54,0,14,0,-34,-1,-76,-1,-121,-1,90,-1,53,-1,5,-1,-24,-2,-69,-2,-95,-2,124,-2,99,-2,72,-2,49,-2,34,-2,12,-2,10,-2,-8,-3,-3,-3,-10,-3,-3,-3,3,-2,14,-2,29,-2,47,-2,68,-2,94,-2,120,-2,-104,-2,-70,-2,-38,-2,4,-1,39,-1,83,-1,124,-1,-87,-1,-46,-1,2,0,41,0,88,0,-128,0,-83,0,-46,0,0,1,28,1,72,1,96,1,-124,1,-99,1,-75,1,-54,1,-34,1,-25,1,-9,1,-7,1,-1,1,-3,1,-7,1,-15,1,-26,1,-43,1,-59,1,-84,1,-106,1,120,1,89,1,58,1,20,1,-14,0,-56,0,-96,0,121,0,73,0,35,0,-12,-1,-50,-1,-98,-1,121,-1,75,-1,39,-1,-1,-2,-37,-2,-68,-2,-103,-2,-128,-2,99,-2,77,-2,59,-2,39,-2,29,-2,19,-2,14,-2,10,-2,14,-2,16,-2,28,-2,39,-2,54,-2,73,-2,98,-2,119,-2,-103,-2,-79,-2,-39,-2,-10,-2,31,-1,68,-1,108,-1,-105,-1,-64,-1,-22,-1,21,0,61,0,105,0,-111,0,-71,0,-32,0,5,1,38,1,73,1,100,1,-125,1,-104,1,-78,1,-62,1,-46,1,-34,1,-28,1,-19,1,-23,1,-20,1,-32,1,-35,1,-54,1,-64,1,-90,1,-107,1,118,1,94,1,61,1,30,1,-7,0,-43,0,-81,0,-123,0,97,0,48,0,13,0,-31,-1,-71,-1,-112,-1,103,-1,64,-1,27,-1,-8,-2,-42,-2,-73,-2,-102,-2,127,-2,104,-2,83,-2,66,-2,51,-2,42,-2,33,-2,30,-2,30,-2,33,-2,38,-2,52,-2,62,-2,80,-2,101,-2,121,-2,-105,-2,-79,-2,-49,-2,-13,-2,16,-1,60,-1,92,-1,-121,-1,-82,-1,-42,-1,2,0,37,0,83,0,118,0,-95,0,-60,0,-21,0,12,1,43,1,77,1,99,1,-125,1,-108,1,-85,1,-70,1,-58,1,-46,1,-43,1,-37,1,-40,1,-42,1,-51,1,-61,1,-77,1,-90,1,-115,1,121,1,93,1,64,1,36,1,1,1,-33,0,-68,0,-109,0,112,0,69,0,30,0,-6,-1,-53,-1,-84,-1,123,-1,95,-1,49,-1,22,-1,-19,-2,-45,-2,-75,-2,-103,-2,-126,-2,108,-2,89,-2,75,-2,63,-2,54,-2,49,-2,47,-2,47,-2,54,-2,61,-2,73,-2,87,-2,104,-2,127,-2,-108,-2,-79,-2,-53,-2,-20,-2,11,-1,45,-1,83,-1,118,-1,-98,-1,-58,-1,-22,-1,21,0,55,0,99,0,-122,0,-84,0,-47,0,-16,0,21,1,44,1,81,1,98,1,-128,1,-113,1,-92,1,-79,1,-70,1,-59,1,-59,1,-53,1,-59,1,-62,1,-74,1,-82,1,-102,1,-112,1,113,1,96,1,66,1,40,1,8,1,-22,0,-61,0,-92,0,124,0,87,0,48,0,11,0,-29,-1,-66,-1,-104,-1,114,-1,78,-1,44,-1,9,-1,-19,-2,-50,-2,-77,-2,-101,-2,-123,-2,113,-2,97,-2,86,-2,72,-2,71,-2,62,-2,64,-2,69,-2,70,-2,85,-2,96,-2,108,-2,-123,-2,-108,-2,-80,-2,-55,-2,-26,-2,3,-1,39,-1,68,-1,108,-1,-116,-1,-73,-1,-42,-1,5,0,32,0,78,0,110,0,-107,0,-74,0,-38,0,-7,0,23,1,50,1,79,1,98,1,123,1,-118,1,-101,1,-89,1,-81,1,-74,1,-75,1,-68,1,-82,1,-78,1,-98,1,-103,1,-125,1,116,1,92,1,69,1,43,1,11,1,-13,0,-52,0,-80,0,-119,0,103,0,64,0,30,0,-10,-1,-43,-1,-85,-1,-116,-1,99,-1,71,-1,32,-1,5,-1,-25,-2,-52,-2,-77,-2,-98,-2,-121,-2,122,-2,104,-2,96,-2,86,-2,82,-2,81,-2,80,-2,87,-2,93,-2,103,-2,119,-2,-123,-2,-103,-2,-79,-2,-60,-2,-26,-2,-4,-2,31,-1,59,-1,95,-1,-128,-1,-91,-1,-54,-1,-19,-1,17,0,54,0,89,0,126,0,-96,0,-63,0,-32,0,0,1,24,1,55,1,74,1,100,1,115,1,-121,1,-113,1,-97,1,-97,1,-86,1,-89,1,-90,1,-94,1,-105,1,-115,1,-126,1,108,1,93,1,68,1,44,1,18,1,-9,0,-42,0,-71,0,-106,0,115,0,82,0,45,0,9,0,-26,-1}; }
	private static byte[] data14(){ return new byte[] {-61,-1,-98,-1,125,-1,92,-1,56,-1,31,-1,-4,-2,-25,-2,-55,-2,-74,-2,-98,-2,-112,-2,125,-2,116,-2,106,-2,99,-2,97,-2,95,-2,99,-2,105,-2,112,-2,-128,-2,-120,-2,-97,-2,-80,-2,-58,-2,-31,-2,-8,-2,24,-1,51,-1,85,-1,115,-1,-104,-1,-73,-1,-32,-1,-3,-1,37,0,66,0,106,0,-119,0,-86,0,-54,0,-24,0,1,1,31,1,51,1,78,1,91,1,115,1,121,1,-116,1,-114,1,-105,1,-103,1,-104,1,-107,1,-115,1,-123,1,120,1,108,1,87,1,68,1,45,1,21,1,-6,0,-32,0,-65,0,-95,0,-127,0,95,0,60,0,27,0,-9,-1,-41,-1,-77,-1,-110,-1,113,-1,81,-1,50,-1,22,-1,-5,-2,-29,-2,-54,-2,-73,-2,-94,-2,-107,-2,-121,-2,123,-2,120,-2,109,-2,113,-2,111,-2,117,-2,122,-2,-122,-2,-111,-2,-96,-2,-74,-2,-61,-2,-31,-2,-12,-2,19,-1,45,-1,73,-1,107,-1,-119,-1,-84,-1,-51,-1,-18,-1,17,0,48,0,86,0,115,0,-108,0,-75,0,-49,0,-19,0,7,1,28,1,57,1,69,1,92,1,105,1,115,1,-126,1,-126,1,-117,1,-118,1,-123,1,-121,1,119,1,118,1,96,1,87,1,65,1,46,1,24,1,-3,0,-28,0,-54,0,-87,0,-116,0,109,0,72,0,45,0,7,0,-25,-1,-54,-1,-95,-1,-117,-1,99,-1,74,-1,44,-1,16,-1,-5,-2,-32,-2,-53,-2,-71,-2,-88,-2,-100,-2,-114,-2,-121,-2,-127,-2,125,-2,-128,-2,125,-2,-120,-2,-116,-2,-101,-2,-92,-2,-72,-2,-58,-2,-34,-2,-11,-2,12,-1,39,-1,67,-1,95,-1,127,-1,-97,-1,-67,-1,-31,-1,-2,-1,33,0,64,0,96,0,-127,0,-101,0,-66,0,-43,0,-13,0,6,1,32,1,52,1,67,1,89,1,95,1,109,1,118,1,117,1,-128,1,120,1,121,1,114,1,103,1,96,1,79,1,64,1,44,1,25,1,0,1,-21,0,-53,0,-74,0,-109,0,121,0,88,0,56,0,24,0,-6,-1,-40,-1,-71,-1,-101,-1,121,-1,96,-1,63,-1,40,-1,13,-1,-9,-2,-32,-2,-49,-2,-69,-2,-80,-2,-98,-2,-100,-2,-115,-2,-110,-2,-121,-2,-113,-2,-113,-2,-104,-2,-96,-2,-85,-2,-69,-2,-55,-2,-33,-2,-14,-2,9,-1,36,-1,58,-1,89,-1,115,-1,-109,-1,-78,-1,-49,-1,-14,-1,13,0,47,0,77,0,109,0,-120,0,-88,0,-62,0,-38,0,-10,0,7,1,33,1,47,1,68,1,78,1,91,1,99,1,105,1,109,1,110,1,109,1,102,1,97,1,87,1,73,1,64,1,40,1,25,1,3,1,-20,0,-44,0,-69,0,-99,0,-126,0,101,0,69,0,38,0,10,0,-25,-1,-51,-1,-83,-1,-116,-1,116,-1,84,-1,60,-1,34,-1,12,-1,-11,-2,-30,-2,-47,-2,-64,-2,-76,-2,-86,-2,-95,-2,-98,-2,-105,-2,-101,-2,-102,-2,-93,-2,-90,-2,-76,-2,-68,-2,-48,-2,-34,-2,-14,-2,6,-1,32,-1,53,-1,80,-1,109,-1,-123,-1,-89,-1,-60,-1,-33,-1,3,0,27,0,61,0,89,0,119,0,-109,0,-84,0,-52,0,-39,0,-3,0,4,1,34,1,44,1,61,1,74,1,81,1,91,1,92,1,98,1,95,1,94,1,87,1,78,1,70,1,56,1,40,1,25,1,2,1,-15,0,-42,0,-62,0,-92,0,-116,0,110,0,83,0,51,0,25,0,-10,-1,-34,-1,-67,-1,-95,-1,-122,-1,103,-1,81,-1,51,-1,34,-1,7,-1,-8,-2,-31,-2,-43,-2,-59,-2,-69,-2,-79,-2,-82,-2,-92,-2,-87,-2,-92,-2,-83,-2,-80,-2,-71,-2,-60,-2,-47,-2,-31,-2,-14,-2,5,-1,29,-1,48,-1,76,-1,97,-1,-128,-1,-102,-1,-72,-1,-46,-1,-13,-1,12,0,44,0,72,0,101,0,127,0,-101,0,-76,0,-53,0,-29,0,-9,0,10,1,28,1,42,1,56,1,65,1,74,1,80,1,82,1,86,1,79,1,80,1,70,1,63,1,51,1,38,1,21,1,5,1,-15,0,-38,0,-57,0,-86,0,-106,0,118,0,95,0,63,0,37,0,7,0,-21,-1,-49,-1,-78,-1,-105,-1,123,-1,99,-1,70,-1,55,-1,24,-1,12,-1,-11,-2,-27,-2,-39,-2,-53,-2,-62,-2,-69,-2,-75,-2,-77,-2,-77,-2,-74,-2,-72,-2,-63,-2,-53,-2,-44,-2,-26,-2,-15,-2,6,-1,24,-1,48,-1,67,-1,94,-1,116,-1,-109,-1,-87,-1,-55,-1,-29,-1,1,0,26,0,58,0,79,0,113,0,-120,0,-96,0,-68,0,-50,0,-28,0,-8,0,8,1,26,1,38,1,49,1,59,1,63,1,72,1,68,1,73,1,68,1,62,1,57,1,42,1,38,1,16,1,7,1,-17,0,-33,0,-56,0,-78,0,-101,0,-128,0,104,0,76,0,47,0}; }
	private static byte[] data15(){ return new byte[] {23,0,-7,-1,-33,-1,-62,-1,-88,-1,-116,-1,119,-1,89,-1,69,-1,48,-1,25,-1,11,-1,-10,-2,-22,-2,-36,-2,-47,-2,-53,-2,-62,-2,-61,-2,-69,-2,-61,-2,-65,-2,-52,-2,-50,-2,-35,-2,-28,-2,-8,-2,2,-1,27,-1,42,-1,64,-1,89,-1,108,-1,-118,-1,-96,-1,-68,-1,-39,-1,-16,-1,14,0,40,0,65,0,96,0,116,0,-110,0,-90,0,-66,0,-46,0,-29,0,-5,0,4,1,24,1,32,1,43,1,49,1,58,1,56,1,62,1,57,1,53,1,49,1,39,1,31,1,14,1,5,1,-17,0,-30,0,-54,0,-72,0,-98,0,-115,0,108,0,88,0,60,0,33,0,7,0,-17,-1,-50,-1,-68,-1,-101,-1,-120,-1,107,-1,87,-1,65,-1,44,-1,28,-1,7,-1,-5,-2,-18,-2,-34,-2,-35,-2,-50,-2,-49,-2,-54,-2,-53,-2,-53,-2,-44,-2,-44,-2,-29,-2,-24,-2,-7,-2,7,-1,23,-1,41,-1,61,-1,81,-1,106,-1,127,-1,-102,-1,-81,-1,-50,-1,-29,-1,3,0,24,0,52,0,77,0,102,0,127,0,-106,0,-83,0,-66,0,-41,0,-28,0,-9,0,5,1,16,1,28,1,37,1,40,1,48,1,47,1,47,1,46,1,39,1,34,1,24,1,13,1,0,1,-15,0,-32,0,-49,0,-72,0,-87,0,-116,0,121,0,95,0,72,0,43,0,23,0,-11,-1,-26,-1,-61,-1,-79,-1,-108,-1,126,-1,104,-1,81,-1,62,-1,44,-1,26,-1,10,-1,-2,-2,-17,-2,-23,-2,-33,-2,-38,-2,-40,-2,-44,-2,-41,-2,-38,-2,-34,-2,-25,-2,-17,-2,-5,-2,8,-1,23,-1,41,-1,58,-1,79,-1,98,-1,121,-1,-111,-1,-89,-1,-62,-1,-38,-1,-14,-1,14,0,35,0,62,0,88,0,109,0,-122,0,-100,0,-82,0,-59,0,-45,0,-24,0,-14,0,4,1,11,1,22,1,29,1,33,1,36,1,37,1,36,1,32,1,26,1,19,1,8,1,-2,0,-16,0,-33,0,-46,0,-69,0,-85,0,-108,0,127,0,105,0,78,0,58,0,29,0,8,0,-18,-1,-45,-1,-63,-1,-95,-1,-110,-1,117,-1,98,-1,81,-1,57,-1,46,-1,24,-1,14,-1,0,-1,-10,-2,-19,-2,-23,-2,-31,-2,-29,-2,-34,-2,-27,-2,-29,-2,-15,-2,-15,-2,2,-1,8,-1,25,-1,40,-1,56,-1,77,-1,92,-1,117,-1,-121,-1,-94,-1,-74,-1,-48,-1,-25,-1,0,0,24,0,48,0,71,0,96,0,117,0,-116,0,-97,0,-77,0,-59,0,-41,0,-30,0,-11,0,-5,0,9,1,15,1,20,1,24,1,28,1,25,1,23,1,20,1,10,1,6,1,-5,0,-20,0,-31,0,-49,0,-63,0,-85,0,-100,0,-126,0,115,0,85,0,69,0,39,0,20,0,-7,-1,-27,-1,-55,-1,-74,-1,-101,-1,-119,-1,112,-1,97,-1,73,-1,60,-1,43,-1,26,-1,17,-1,4,-1,-6,-2,-8,-2,-21,-2,-17,-2,-24,-2,-17,-2,-20,-2,-11,-2,-7,-2,3,-1,15,-1,24,-1,41,-1,55,-1,73,-1,90,-1,112,-1,-128,-1,-100,-1,-85,-1,-57,-1,-35,-1,-13,-1,13,0,32,0,60,0,78,0,106,0,120,0,-108,0,-96,0,-74,0,-57,0,-44,0,-28,0,-17,0,-8,0,3,1,8,1,12,1,17,1,15,1,14,1,13,1,5,1,-1,0,-9,0,-22,0,-32,0,-48,0,-64,0,-81,0,-96,0,-120,0,120,0,94,0,76,0,52,0,28,0,7,0,-19,-1,-37,-1,-64,-1,-82,-1,-109,-1,-124,-1,106,-1,95,-1,71,-1,60,-1,41,-1,32,-1,16,-1,12,-1,-1,-2,-4,-2,-8,-2,-13,-2,-7,-2,-13,-2,-2,-2,-3,-2,10,-1,15,-1,30,-1,40,-1,55,-1,70,-1,89,-1,105,-1,126,-1,-111,-1,-90,-1,-66,-1,-47,-1,-22,-1,1,0,20,0,47,0,63,0,93,0,104,0,-122,0,-111,0,-88,0,-74,0,-57,0,-45,0,-29,0,-23,0,-8,0,-8,0,4,1,2,1,9,1,3,1,7,1,-5,0,-3,0,-16,0,-23,0,-36,0,-47,0,-64,0,-77,0,-97,0,-111,0,122,0,104,0,82,0,60,0,40,0,17,0,-6,-1,-25,-1,-52,-1,-68,-1,-94,-1,-111,-1,125,-1,104,-1,90,-1,71,-1,59,-1,44,-1,33,-1,22,-1,13,-1,9,-1,2,-1,0,-1,-2,-2,1,-1,0,-1,8,-1,12,-1,21,-1,31,-1,42,-1,55,-1,70,-1,86,-1,101,-1,123,-1,-119,-1,-93,-1,-80,-1,-51,-1,-35,-1,-9,-1,10,0,30,0,55,0,74,0,96,0,115,0,-123,0,-103,0,-89,0,-72,0,-57,0,-47,0,-32,0,-26,0,-15,0,-12,0,-5,0,-6,0,-1,0,-7,0,-4,0,-18,0,-14,0,-31,0,-35,0,-51,0,-62,0,-77,0,-93,0,-109,0,127,0,112,0,87,0}; }
	private static byte[] data16(){ return new byte[] {72,0,45,0,29,0,4,0,-14,-1,-37,-1,-58,-1,-78,-1,-99,-1,-118,-1,122,-1,101,-1,88,-1,72,-1,57,-1,47,-1,36,-1,25,-1,21,-1,13,-1,10,-1,9,-1,6,-1,13,-1,10,-1,22,-1,22,-1,37,-1,42,-1,58,-1,67,-1,87,-1,99,-1,116,-1,-121,-1,-104,-1,-81,-1,-64,-1,-42,-1,-21,-1,0,0,21,0,41,0,61,0,83,0,100,0,122,0,-119,0,-102,0,-86,0,-73,0,-57,0,-48,0,-38,0,-27,0,-25,0,-14,0,-17,0,-10,0,-14,0,-15,0,-19,0,-24,0,-31,0,-42,0,-49,0,-66,0,-73,0,-93,0,-106,0,-125,0,117,0,94,0,78,0,56,0,35,0,18,0,-6,-1,-25,-1,-45,-1,-67,-1,-84,-1,-105,-1,-121,-1,114,-1,103,-1,84,-1,73,-1,59,-1,48,-1,40,-1,30,-1,26,-1,21,-1,17,-1,18,-1,16,-1,22,-1,23,-1,31,-1,37,-1,48,-1,55,-1,73,-1,79,-1,102,-1,111,-1,-124,-1,-110,-1,-88,-1,-72,-1,-48,-1,-33,-1,-8,-1,7,0,31,0,50,0,69,0,89,0,106,0,125,0,-116,0,-99,0,-85,0,-72,0,-61,0,-49,0,-42,0,-32,0,-30,0,-23,0,-22,0,-23,0,-20,0,-28,0,-28,0,-36,0,-46,0,-51,0,-65,0,-75,0,-91,0,-104,0,-121,0,121,0,101,0,83,0,64,0,45,0,24,0,7,0,-16,-1,-33,-1,-55,-1,-71,-1,-93,-1,-108,-1,-128,-1,116,-1,97,-1,87,-1,71,-1,61,-1,52,-1,41,-1,39,-1,30,-1,27,-1,27,-1,24,-1,29,-1,31,-1,34,-1,43,-1,49,-1,59,-1,72,-1,82,-1,96,-1,112,-1,126,-1,-114,-1,-93,-1,-80,-1,-56,-1,-39,-1,-21,-1,1,0,18,0,39,0,57,0,77,0,93,0,112,0,-127,0,-115,0,-95,0,-88,0,-71,0,-63,0,-53,0,-44,0,-39,0,-35,0,-31,0,-31,0,-28,0,-34,0,-35,0,-41,0,-49,0,-53,0,-68,0,-76,0,-89,0,-103,0,-117,0,123,0,106,0,89,0,72,0,51,0,35,0,14,0,-5,-1,-21,-1,-46,-1,-57,-1,-83,-1,-94,-1,-115,-1,127,-1,112,-1,97,-1,85,-1,74,-1,62,-1,57,-1,44,-1,45,-1,35,-1,36,-1,34,-1,34,-1,38,-1,39,-1,49,-1,50,-1,65,-1,69,-1,84,-1,95,-1,109,-1,125,-1,-118,-1,-100,-1,-83,-1,-67,-1,-43,-1,-33,-1,-5,-1,5,0,29,0,48,0,61,0,85,0,98,0,115,0,-123,0,-113,0,-97,0,-84,0,-75,0,-65,0,-54,0,-53,0,-41,0,-43,0,-37,0,-40,0,-38,0,-42,0,-47,0,-50,0,-61,0,-66,0,-78,0,-90,0,-101,0,-115,0,126,0,111,0,94,0,77,0,62,0,39,0,24,0,5,0,-15,-1,-28,-1,-53,-1,-67,-1,-84,-1,-103,-1,-115,-1,121,-1,112,-1,96,-1,87,-1,74,-1,66,-1,57,-1,54,-1,45,-1,47,-1,39,-1,44,-1,44,-1,44,-1,56,-1,51,-1,70,-1,69,-1,87,-1,93,-1,109,-1,121,-1,-121,-1,-104,-1,-89,-1,-71,-1,-54,-1,-37,-1,-18,-1,-1,-1,19,0,35,0,54,0,70,0,87,0,104,0,120,0,-124,0,-109,0,-98,0,-85,0,-77,0,-66,0,-61,0,-54,0,-51,0,-46,0,-47,0,-46,0,-47,0,-54,0,-53,0,-66,0,-67,0,-80,0,-91,0,-99,0,-115,0,-127,0,114,0,99,0,83,0,67,0,47,0,32,0,13,0,-3,-1,-22,-1,-39,-1,-57,-1,-74,-1,-89,-1,-106,-1,-120,-1,122,-1,108,-1,99,-1,84,-1,79,-1,68,-1,63,-1,56,-1,53,-1,51,-1,49,-1,53,-1,49,-1,60,-1,58,-1,70,-1,74,-1,86,-1,94,-1,108,-1,119,-1,-123,-1,-108,-1,-94,-1,-76,-1,-61,-1,-44,-1,-26,-1,-10,-1,10,0,25,0,42,0,62,0,72,0,97,0,103,0,125,0,-124,0,-107,0,-98,0,-88,0,-75,0,-74,0,-61,0,-62,0,-55,0,-54,0,-54,0,-53,0,-60,0,-58,0,-70,0,-69,0,-84,0,-88,0,-103,0,-111,0,-128,0,121,0,100,0,89,0,72,0,54,0,40,0,21,0,4,0,-12,-1,-29,-1,-47,-1,-62,-1,-80,-1,-93,-1,-111,-1,-119,-1,116,-1,113,-1,94,-1,90,-1,78,-1,73,-1,66,-1,64,-1,56,-1,61,-1,54,-1,62,-1,59,-1,67,-1,71,-1,78,-1,87,-1,95,-1,107,-1,119,-1,-127,-1,-109,-1,-100,-1,-80,-1,-68,-1,-48,-1,-37,-1,-13,-1,-4,-1,19,0,32,0,50,0,65,0,82,0,95,0,112,0,121,0,-116,0,-114,0,-91,0,-96,0,-74,0,-80,0,-65,0,-66,0,-62,0,-60,0,-63,0,-62,0,-66,0,-70,0,-76,0,-86,0,-88,0,-104,0,-110,0,-125,0,119,0,107,0}; }
	private static byte[] data17(){ return new byte[] {91,0,78,0,60,0,47,0,28,0,12,0,-3,-1,-21,-1,-35,-1,-54,-1,-66,-1,-87,-1,-95,-1,-113,-1,-126,-1,124,-1,103,-1,103,-1,87,-1,84,-1,75,-1,72,-1,66,-1,67,-1,64,-1,65,-1,67,-1,70,-1,77,-1,79,-1,90,-1,95,-1,108,-1,117,-1,-126,-1,-115,-1,-100,-1,-87,-1,-72,-1,-56,-1,-41,-1,-23,-1,-11,-1,11,0,21,0,41,0,56,0,69,0,88,0,98,0,113,0,126,0,-122,0,-105,0,-102,0,-88,0,-87,0,-75,0,-76,0,-69,0,-68,0,-69,0,-68,0,-72,0,-75,0,-80,0,-85,0,-94,0,-102,0,-112,0,-124,0,123,0,107,0,98,0,80,0,67,0,51,0,36,0,20,0,4,0,-11,-1,-29,-1,-41,-1,-59,-1,-73,-1,-89,-1,-99,-1,-117,-1,-121,-1,114,-1,113,-1,96,-1,95,-1,84,-1,81,-1,74,-1,76,-1,68,-1,76,-1,69,-1,78,-1,78,-1,85,-1,92,-1,96,-1,109,-1,117,-1,-128,-1,-116,-1,-104,-1,-91,-1,-75,-1,-63,-1,-46,-1,-31,-1,-17,-1,2,0,13,0,33,0,44,0,62,0,76,0,88,0,105,0,112,0,-128,0,-119,0,-110,0,-100,0,-93,0,-88,0,-80,0,-82,0,-72,0,-78,0,-73,0,-77,0,-81,0,-82,0,-90,0,-96,0,-102,0,-114,0,-120,0,119,0,115,0,95,0,88,0,70,0,57,0,42,0,28,0,9,0,0,0,-22,-1,-31,-1,-51,-1,-63,-1,-77,-1,-92,-1,-101,-1,-120,-1,-122,-1,114,-1,114,-1,99,-1,96,-1,88,-1,84,-1,83,-1,75,-1,82,-1,77,-1,79,-1,87,-1,84,-1,97,-1,99,-1,108,-1,118,-1,127,-1,-118,-1,-104,-1,-97,-1,-76,-1,-70,-1,-51,-1,-37,-1,-24,-1,-6,-1,6,0,22,0,37,0,53,0,64,0,81,0,91,0,106,0,115,0,-127,0,-121,0,-110,0,-102,0,-97,0,-89,0,-88,0,-83,0,-82,0,-81,0,-83,0,-83,0,-90,0,-89,0,-103,0,-99,0,-120,0,-116,0,119,0,116,0,99,0,90,0,74,0,64,0,46,0,35,0,17,0,5,0,-11,-1,-26,-1,-39,-1,-55,-1,-67,-1,-82,-1,-93,-1,-107,-1,-116,-1,-128,-1,121,-1,109,-1,106,-1,95,-1,94,-1,89,-1,84,-1,88,-1,81,-1,90,-1,85,-1,93,-1,97,-1,102,-1,110,-1,119,-1,125,-1,-117,-1,-109,-1,-95,-1,-86,-1,-69,-1,-59,-1,-42,-1,-29,-1,-16,-1,2,0,12,0,29,0,44,0,55,0,71,0,84,0,92,0,111,0,113,0,-125,0,-123,0,-109,0,-107,0,-97,0,-97,0,-88,0,-93,0,-84,0,-90,0,-89,0,-92,0,-97,0,-99,0,-109,0,-113,0,-123,0,124,0,114,0,104,0,90,0,81,0,65,0,53,0,40,0,25,0,10,0,-2,-1,-19,-1,-30,-1,-46,-1,-59,-1,-71,-1,-87,-1,-93,-1,-111,-1,-115,-1,127,-1,121,-1,113,-1,105,-1,102,-1,96,-1,92,-1,94,-1,88,-1,95,-1,90,-1,98,-1,97,-1,109,-1,109,-1,120,-1,-128,-1,-122,-1,-107,-1,-98,-1,-89,-1,-72,-1,-64,-1,-47,-1,-37,-1,-18,-1,-11,-1,11,0,16,0,39,0,43,0,65,0,71,0,88,0,96,0,109,0,116,0,-127,0,-121,0,-115,0,-105,0,-105,0,-97,0,-95,0,-97,0,-91,0,-97,0,-95,0,-101,0,-103,0,-111,0,-114,0,-125,0,126,0,114,0,104,0,96,0,80,0,73,0,55,0,47,0,28,0,20,0,1,0,-8,-1,-24,-1,-38,-1,-50,-1,-63,-1,-76,-1,-86,-1,-99,-1,-109,-1,-117,-1,-128,-1,123,-1,113,-1,109,-1,106,-1,97,-1,103,-1,93,-1,99,-1,97,-1,100,-1,105,-1,107,-1,115,-1,117,-1,-125,-1,-122,-1,-108,-1,-102,-1,-88,-1,-80,-1,-64,-1,-54,-1,-41,-1,-25,-1,-16,-1,2,0,12,0,27,0,39,0,54,0,63,0,79,0,87,0,101,0,106,0,121,0,124,0,-120,0,-116,0,-111,0,-106,0,-103,0,-100,0,-101,0,-98,0,-104,0,-102,0,-109,0,-110,0,-120,0,-122,0,122,0,116,0,105,0,97,0,84,0,75,0,60,0,50,0,35,0,25,0,9,0,-3,-1,-15,-1,-31,-1,-41,-1,-55,-1,-67,-1,-78,-1,-91,-1,-98,-1,-110,-1,-118,-1,-126,-1,122,-1,117,-1,113,-1,107,-1,105,-1,103,-1,104,-1,100,-1,110,-1,101,-1,116,-1,113,-1,124,-1,127,-1,-119,-1,-111,-1,-102,-1,-89,-1,-84,-1,-66,-1,-61,-1,-42,-1,-35,-1,-18,-1,-7,-1,7,0,17,0,34,0,42,0,59,0,68,0,79,0,91,0,100,0,109,0,120,0,122,0,-119,0,-123,0,-109,0,-113,0,-105,0,-107,0,-105,0,-106,0,-109,0,-110,0,-114,0,-123,0,-122,0,120,0,117,0,107,0}; }
	private static byte[] data18(){ return new byte[] {95,0,90,0,74,0,67,0,52,0,43,0,27,0,18,0,0,0,-6,-1,-24,-1,-33,-1,-47,-1,-59,-1,-71,-1,-79,-1,-94,-1,-98,-1,-111,-1,-117,-1,-126,-1,125,-1,119,-1,116,-1,111,-1,111,-1,106,-1,111,-1,107,-1,113,-1,113,-1,120,-1,123,-1,-126,-1,-120,-1,-109,-1,-105,-1,-90,-1,-87,-1,-70,-1,-61,-1,-51,-1,-35,-1,-28,-1,-11,-1,1,0,9,0,28,0,34,0,50,0,61,0,71,0,82,0,93,0,99,0,112,0,116,0,125,0,-125,0,-122,0,-115,0,-115,0,-111,0,-113,0,-109,0,-113,0,-115,0,-116,0,-126,0,-124,0,120,0,116,0,107,0,99,0,88,0,79,0,68,0,58,0,45,0,34,0,21,0,9,0,-1,-1,-17,-1,-26,-1,-40,-1,-51,-1,-60,-1,-75,-1,-82,-1,-93,-1,-103,-1,-107,-1,-119,-1,-122,-1,125,-1,123,-1,118,-1,116,-1,114,-1,114,-1,114,-1,115,-1,119,-1,119,-1,-127,-1,-126,-1,-120,-1,-107,-1,-108,-1,-90,-1,-87,-1,-75,-1,-63,-1,-54,-1,-42,-1,-31,-1,-16,-1,-9,-1,9,0,15,0,30,0,43,0,51,0,64,0,74,0,84,0,93,0,103,0,108,0,117,0,124,0,126,0,-121,0,-122,0,-118,0,-115,0,-118,0,-115,0,-120,0,-121,0,-125,0,126,0,122,0,114,0,106,0,102,0,86,0,85,0,68,0,63,0,47,0,41,0,24,0,17,0,2,0,-9,-1,-19,-1,-34,-1,-40,-1,-58,-1,-63,-1,-76,-1,-86,-1,-91,-1,-104,-1,-108,-1,-117,-1,-122,-1,-127,-1,126,-1,121,-1,121,-1,118,-1,119,-1,120,-1,122,-1,124,-1,-128,-1,-122,-1,-118,-1,-111,-1,-101,-1,-98,-1,-84,-1,-79,-1,-66,-1,-58,-1,-44,-1,-37,-1,-21,-1,-14,-1,2,0,9,0,25,0,33,0,45,0,58,0,63,0,81,0,81,0,97,0,101,0,108,0,118,0,118,0,-128,0,-127,0,-125,0,-120,0,-125,0,-117,0,-127,0,-121,0,126,0,125,0,119,0,114,0,106,0,100,0,91,0,82,0,74,0,63,0,54,0,41,0,32,0,20,0,8,0,0,0,-18,-1,-21,-1,-39,-1,-46,-1,-58,-1,-67,-1,-79,-1,-84,-1,-95,-1,-103,-1,-106,-1,-118,-1,-118,-1,-125,-1,127,-1,127,-1,125,-1,122,-1,126,-1,123,-1,-126,-1,-126,-1,-120,-1,-117,-1,-108,-1,-105,-1,-95,-1,-87,-1,-80,-1,-68,-1,-60,-1,-51,-1,-37,-1,-29,-1,-18,-1,-2,-1,1,0,19,0,27,0,37,0,51,0,57,0,70,0,77,0,87,0,94,0,103,0,106,0,117,0,116,0,125,0,126,0,-128,0,-127,0,-125,0,127,0,-125,0,122,0,124,0,116,0,113,0,106,0,100,0,90,0,87,0,73,0,67,0,56,0,45,0,37,0,24,0,14,0,3,0,-8,-1,-19,-1,-30,-1,-40,-1,-51,-1,-60,-1,-70,-1,-79,-1,-86,-1,-97,-1,-98,-1,-112,-1,-109,-1,-122,-1,-119,-1,-125,-1,-127,-1,-126,-1,127,-1,-125,-1,-126,-1,-122,-1,-118,-1,-114,-1,-109,-1,-102,-1,-98,-1,-85,-1,-83,-1,-69,-1,-65,-1,-51,-1,-44,-1,-30,-1,-25,-1,-7,-1,-5,-1,16,0,17,0,34,0,41,0,52,0,62,0,72,0,78,0,87,0,96,0,99,0,110,0,110,0,119,0,118,0,124,0,124,0,125,0,125,0,124,0,122,0,118,0,118,0,107,0,108,0,99,0,91,0,86,0,76,0,68,0,60,0,48,0,40,0,29,0,19,0,8,0,-3,-1,-13,-1,-22,-1,-36,-1,-41,-1,-56,-1,-61,-1,-74,-1,-78,-1,-89,-1,-93,-1,-103,-1,-105,-1,-113,-1,-113,-1,-122,-1,-117,-1,-126,-1,-120,-1,-124,-1,-121,-1,-118,-1,-117,-1,-112,-1,-107,-1,-103,-1,-94,-1,-91,-1,-79,-1,-76,-1,-61,-1,-59,-1,-43,-1,-38,-1,-25,-1,-17,-1,-4,-1,4,0,16,0,25,0,37,0,42,0,59,0,60,0,76,0,78,0,89,0,93,0,101,0,107,0,110,0,114,0,117,0,119,0,121,0,120,0,120,0,119,0,115,0,115,0,107,0,106,0,98,0,92,0,86,0,77,0,71,0,61,0,52,0,42,0,34,0,22,0,15,0,0,0,-5,-1,-20,-1,-25,-1,-40,-1,-44,-1,-59,-1,-63,-1,-74,-1,-81,-1,-86,-1,-97,-1,-98,-1,-106,-1,-110,-1,-112,-1,-116,-1,-117,-1,-119,-1,-117,-1,-120,-1,-113,-1,-116,-1,-108,-1,-108,-1,-99,-1,-98,-1,-86,-1,-85,-1,-72,-1,-68,-1,-58,-1,-47,-1,-43,-1,-26,-1,-23,-1,-9,-1,1,0,7,0,23,0,27,0,41,0,46,0,60,0,63,0,77,0,78,0,90,0,92,0,103,0,100,0,113,0,107,0,117,0,116,0,114,0,118,0,113,0,114,0,111,0,107,0,102,0,99,0}; }
	private static byte[] data19(){ return new byte[] {92,0,84,0,81,0,68,0,67,0,52,0,47,0,36,0,26,0,20,0,4,0,2,0,-17,-1,-17,-1,-36,-1,-36,-1,-53,-1,-57,-1,-67,-1,-75,-1,-79,-1,-91,-1,-91,-1,-101,-1,-102,-1,-108,-1,-110,-1,-113,-1,-112,-1,-116,-1,-112,-1,-113,-1,-112,-1,-105,-1,-107,-1,-98,-1,-95,-1,-90,-1,-82,-1,-74,-1,-71,-1,-56,-1,-56,-1,-40,-1,-33,-1,-27,-1,-11,-1,-8,-1,6,0,14,0,23,0,34,0,42,0,50,0,61,0,65,0,77,0,79,0,90,0,92,0,99,0,103,0,105,0,110,0,110,0,111,0,114,0,109,0,112,0,107,0,105,0,102,0,96,0,92,0,86,0,79,0,73,0,64,0,58,0,48,0,39,0,32,0,21,0,11,0,5,0,-10,-1,-14,-1,-27,-1,-33,-1,-46,-1,-50,-1,-62,-1,-67,-1,-74,-1,-83,-1,-87,-1,-94,-1,-96,-1,-103,-1,-104,-1,-107,-1,-111,-1,-107,-1,-112,-1,-109,-1,-106,-1,-108,-1,-99,-1,-102,-1,-90,-1,-93,-1,-78,-1,-80,-1,-66,-1,-65,-1,-51,-1,-47,-1,-36,-1,-27,-1,-21,-1,-7,-1,-1,-1,9,0,19,0,26,0,38,0,44,0,53,0,61,0,69,0,75,0,82,0,87,0,92,0,98,0,100,0,104,0,106,0,107,0,108,0,107,0,108,0,104,0,104,0,99,0,95,0,92,0,84,0,81,0,72,0,68,0,56,0,54,0,38,0,40,0,19,0,21,0,3,0,0,0,-11,-1,-21,-1,-29,-1,-37,-1,-47,-1,-54,-1,-61,-1,-71,-1,-73,-1,-83,-1,-87,-1,-91,-1,-98,-1,-98,-1,-103,-1,-104,-1,-106,-1,-106,-1,-105,-1,-106,-1,-101,-1,-101,-1,-97,-1,-92,-1,-89,-1,-82,-1,-77,-1,-70,-1,-63,-1,-55,-1,-49,-1,-40,-1,-30,-1,-24,-1,-11,-1,-6,-1,4,0,15,0,18,0,36,0,34,0,53,0,50,0,66,0,66,0,79,0,78,0,91,0,87,0,99,0,97,0,100,0,106,0,100,0,107,0,102,0,102,0,102,0,95,0,97,0,88,0,85,0,81,0,72,0,69,0,60,0,52,0,46,0,36,0,30,0,17,0,15,0,-2,-1,-2,-1,-19,-1,-22,-1,-32,-1,-41,-1,-48,-1,-57,-1,-62,-1,-71,-1,-73,-1,-84,-1,-85,-1,-91,-1,-95,-1,-97,-1,-100,-1,-101,-1,-101,-1,-104,-1,-99,-1,-102,-1,-97,-1,-95,-1,-92,-1,-86,-1,-83,-1,-76,-1,-72,-1,-63,-1,-58,-1,-50,-1,-43,-1,-33,-1,-27,-1,-15,-1,-12,-1,3,0,6,0,18,0,27,0,31,0,44,0,48,0,57,0,65,0,69,0,75,0,82,0,85,0,91,0,94,0,96,0,97,0,101,0,99,0,101,0,100,0,95,0,98,0,91,0,89,0,85,0,78,0,76,0,66,0,63,0,53,0,49,0,38,0,33,0,21,0,18,0,3,0,1,0,-12,-1,-18,-1,-27,-1,-36,-1,-43,-1,-48,-1,-61,-1,-60,-1,-73,-1,-75,-1,-80,-1,-87,-1,-87,-1,-94,-1,-94,-1,-98,-1,-97,-1,-99,-1,-98,-1,-96,-1,-97,-1,-91,-1,-92,-1,-85,-1,-82,-1,-76,-1,-72,-1,-64,-1,-61,-1,-49,-1,-47,-1,-33,-1,-34,-1,-16,-1,-16,-1,-2,-1,3,0,13,0,20,0,29,0,36,0,44,0,51,0,59,0,63,0,71,0,75,0,81,0,86,0,87,0,92,0,93,0,97,0,96,0,97,0,94,0,98,0,89,0,95,0,85,0,84,0,80,0,71,0,72,0,60,0,58,0,47,0,43,0,35,0,25,0,20,0,8,0,4,0,-6,-1,-15,-1,-20,-1,-33,-1,-35,-1,-47,-1,-51,-1,-58,-1,-66,-1,-69,-1,-77,-1,-80,-1,-84,-1,-88,-1,-90,-1,-92,-1,-97,-1,-91,-1,-98,-1,-92,-1,-93,-1,-92,-1,-87,-1,-86,-1,-80,-1,-77,-1,-71,-1,-66,-1,-60,-1,-53,-1,-46,-1,-40,-1,-32,-1,-23,-1,-17,-1,-8,-1,1,0,6,0,17,0,24,0,30,0,40,0,46,0,51,0,61,0,63,0,72,0,75,0,79,0,84,0,86,0,92,0,88,0,95,0,91,0,94,0,93,0,89,0,90,0,85,0,82,0,79,0,74,0,67,0,66,0,54,0,52,0,44,0,35,0,32,0,20,0,14,0,6,0,-2,-1,-9,-1,-18,-1,-25,-1,-33,-1,-39,-1,-48,-1,-52,-1,-61,-1,-64,-1,-71,-1,-75,-1,-80,-1,-81,-1,-89,-1,-84,-1,-95,-1,-86,-1,-96,-1,-88,-1,-92,-1,-88,-1,-85,-1,-86,-1,-77,-1,-79,-1,-69,-1,-67,-1,-61,-1,-53,-1,-48,-1,-43,-1,-33,-1,-27,-1,-20,-1,-10,-1,-5,-1,4,0,11,0,20,0,24,0,38,0,36,0,53,0,48,0,65,0,61,0,73,0,74,0,78,0,84,0,84,0,87,0,89,0,89,0,90,0,90,0,87,0,87,0,84,0}; }
	private static byte[] data20(){ return new byte[] {82,0,76,0,75,0,67,0,65,0,57,0,52,0,47,0,37,0,33,0,24,0,17,0,10,0,2,0,-6,-1,-13,-1,-20,-1,-29,-1,-33,-1,-44,-1,-47,-1,-55,-1,-60,-1,-64,-1,-72,-1,-74,-1,-77,-1,-84,-1,-80,-1,-90,-1,-84,-1,-91,-1,-85,-1,-90,-1,-84,-1,-85,-1,-83,-1,-78,-1,-75,-1,-72,-1,-64,-1,-63,-1,-55,-1,-49,-1,-44,-1,-36,-1,-29,-1,-23,-1,-14,-1,-9,-1,2,0,5,0,17,0,20,0,30,0,36,0,42,0,50,0,54,0,60,0,67,0,68,0,75,0,79,0,77,0,89,0,78,0,91,0,83,0,90,0,81,0,89,0,77,0,85,0,72,0,77,0,64,0,68,0,56,0,54,0,46,0,42,0,33,0,28,0,20,0,13,0,5,0,-1,-1,-10,-1,-14,-1,-25,-1,-29,-1,-38,-1,-44,-1,-47,-1,-58,-1,-58,-1,-67,-1,-70,-1,-73,-1,-78,-1,-78,-1,-84,-1,-82,-1,-86,-1,-83,-1,-87,-1,-81,-1,-85,-1,-78,-1,-79,-1,-74,-1,-69,-1,-69,-1,-58,-1,-60,-1,-48,-1,-45,-1,-39,-1,-32,-1,-24,-1,-19,-1,-10,-1,-4,-1,3,0,10,0,20,0,22,0,33,0,37,0,44,0,51,0,54,0,62,0,64,0,71,0,72,0,77,0,79,0,80,0,84,0,81,0,85,0,83,0,81,0,80,0,79,0,73,0,75,0,67,0,63,0,61,0,51,0,50,0,42,0,37,0,27,0,27,0,11,0,13,0,0,0,-6,-1,-9,-1,-23,-1,-22,-1,-35,-1,-37,-1,-46,-1,-50,-1,-55,-1,-63,-1,-61,-1,-74,-1,-69,-1,-78,-1,-76,-1,-82,-1,-78,-1,-86,-1,-78,-1,-83,-1,-80,-1,-77,-1,-77,-1,-74,-1,-68,-1,-68,-1,-60,-1,-57,-1,-51,-1,-47,-1,-39,-1,-36,-1,-25,-1,-21,-1,-14,-1,-8,-1,1,0,6,0,15,0,19,0,28,0,32,0,41,0,45,0,51,0,56,0,60,0,66,0,68,0,73,0,75,0,76,0,80,0,78,0,82,0,80,0,79,0,79,0,74,0,77,0,69,0,69,0,63,0,59,0,55,0,48,0,45,0,37,0,32,0,25,0,19,0,12,0,5,0,-2,-1,-8,-1,-14,-1,-24,-1,-25,-1,-38,-1,-36,-1,-50,-1,-49,-1,-57,-1,-61,-1,-63,-1,-70,-1,-72,-1,-72,-1,-79,-1,-75,-1,-80,-1,-78,-1,-79,-1,-78,-1,-75,-1,-77,-1,-69,-1,-72,-1,-63,-1,-62,-1,-57,-1,-52,-1,-48,-1,-40,-1,-37,-1,-28,-1,-24,-1,-17,-1,-9,-1,-4,-1,2,0,12,0,13,0,27,0,25,0,39,0,38,0,48,0,51,0,55,0,64,0,61,0,71,0,69,0,74,0,76,0,75,0,79,0,75,0,80,0,74,0,75,0,72,0,71,0,66,0,64,0,59,0,54,0,51,0,44,0,40,0,33,0,29,0,19,0,16,0,8,0,1,0,-3,-1,-13,-1,-16,-1,-26,-1,-28,-1,-38,-1,-40,-1,-47,-1,-53,-1,-55,-1,-61,-1,-65,-1,-65,-1,-74,-1,-68,-1,-78,-1,-72,-1,-78,-1,-75,-1,-76,-1,-73,-1,-74,-1,-69,-1,-70,-1,-63,-1,-62,-1,-57,-1,-52,-1,-49,-1,-42,-1,-37,-1,-31,-1,-27,-1,-17,-1,-16,-1,-3,-1,-3,-1,8,0,12,0,18,0,28,0,27,0,40,0,40,0,49,0,50,0,60,0,56,0,67,0,65,0,71,0,71,0,74,0,71,0,78,0,72,0,75,0,72,0,71,0,69,0,65,0,64,0,58,0,56,0,50,0,46,0,40,0,37,0,26,0,28,0,12,0,17,0,-1,-1,3,0,-11,-1,-12,-1,-21,-1,-25,-1,-33,-1,-38,-1,-41,-1,-50,-1,-50,-1,-58,-1,-60,-1,-62,-1,-68,-1,-68,-1,-72,-1,-71,-1,-73,-1,-73,-1,-73,-1,-73,-1,-70,-1,-69,-1,-68,-1,-62,-1,-63,-1,-55,-1,-55,-1,-47,-1,-45,-1,-36,-1,-35,-1,-27,-1,-22,-1,-16,-1,-7,-1,-6,-1,5,0,8,0,15,0,23,0,25,0,34,0,37,0,44,0,48,0,51,0,59,0,56,0,67,0,63,0,70,0,68,0,73,0,70,0,73,0,71,0,70,0,70,0,68,0,63,0,65,0,55,0,59,0,48,0,48,0,41,0,36,0,32,0,26,0,18,0,15,0,7,0,1,0,-3,-1,-11,-1,-17,-1,-21,-1,-30,-1,-31,-1,-41,-1,-42,-1,-49,-1,-53,-1,-54,-1,-62,-1,-61,-1,-67,-1,-66,-1,-69,-1,-70,-1,-70,-1,-72,-1,-68,-1,-70,-1,-67,-1,-66,-1,-63,-1,-61,-1,-55,-1,-55,-1,-47,-1,-47,-1,-37,-1,-36,-1,-29,-1,-23,-1,-20,-1,-10,-1,-6,-1,-1,-1,7,0,10,0,20,0,21,0,30,0,35,0,36,0,50,0,41,0,59,0,50,0,64,0,60,0,66,0,65,0,69,0,67,0,73,0,65,0,72,0}; }
	private static byte[] data21(){ return new byte[] {65,0,67,0,64,0,60,0,60,0,54,0,51,0,48,0,39,0,43,0,27,0,32,0,18,0,18,0,10,0,4,0,0,0,-9,-1,-11,-1,-21,-1,-22,-1,-32,-1,-32,-1,-42,-1,-43,-1,-49,-1,-53,-1,-54,-1,-61,-1,-60,-1,-66,-1,-63,-1,-70,-1,-63,-1,-73,-1,-65,-1,-68,-1,-66,-1,-63,-1,-63,-1,-60,-1,-56,-1,-53,-1,-50,-1,-43,-1,-43,-1,-34,-1,-32,-1,-25,-1,-19,-1,-16,-1,-8,-1,-3,-1,3,0,8,0,15,0,19,0,25,0,31,0,35,0,40,0,44,0,50,0,50,0,58,0,57,0,62,0,63,0,65,0,65,0,69,0,63,0,72,0,60,0,68,0,60,0,62,0,58,0,54,0,51,0,46,0,46,0,36,0,37,0,26,0,24,0,19,0,12,0,9,0,0,0,-4,-1,-10,-1,-15,-1,-20,-1,-26,-1,-31,-1,-37,-1,-38,-1,-47,-1,-48,-1,-51,-1,-57,-1,-57,-1,-60,-1,-66,-1,-59,-1,-69,-1,-63,-1,-66,-1,-66,-1,-62,-1,-65,-1,-59,-1,-60,-1,-55,-1,-54,-1,-47,-1,-48,-1,-39,-1,-39,-1,-30,-1,-29,-1,-20,-1,-19,-1,-8,-1,-8,-1,1,0,5,0,10,0,19,0,19,0,29,0,30,0,37,0,40,0,46,0,48,0,53,0,54,0,58,0,60,0,62,0,63,0,63,0,66,0,63,0,64,0,63,0,60,0,61,0,56,0,54,0,51,0,49,0,41,0,42,0,33,0,30,0,28,0,16,0,20,0,5,0,7,0,-3,-1,-5,-1,-14,-1,-15,-1,-26,-1,-23,-1,-36,-1,-34,-1,-45,-1,-41,-1,-52,-1,-49,-1,-56,-1,-59,-1,-56,-1,-65,-1,-58,-1,-66,-1,-61,-1,-64,-1,-62,-1,-62,-1,-58,-1,-59,-1,-54,-1,-54,-1,-48,-1,-46,-1,-43,-1,-34,-1,-39,-1,-22,-1,-30,-1,-14,-1,-15,-1,-8,-1,-2,-1,0,0,11,0,11,0,19,0,25,0,24,0,37,0,34,0,43,0,45,0,48,0,52,0,55,0,55,0,61,0,58,0,64,0,59,0,65,0,58,0,65,0,56,0,61,0,54,0,55,0,49,0,50,0,42,0,41,0,35,0,32,0,27,0,22,0,17,0,12,0,5,0,4,0,-7,-1,-6,-1,-15,-1,-21,-1,-22,-1,-30,-1,-33,-1,-37,-1,-42,-1,-46,-1,-47,-1,-52,-1,-51,-1,-51,-1,-50,-1,-47,-1,-45,-1,-43,-1,-40,-1,-36,-1,-33,-1,-30,-1,-24,-1,-24,-1,-16,-1,-17,-1,-10,-1,-10,-1,-5,-1,-3,-1,-2,-1}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-11.wav. */
	public Drum11(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-11.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-11.wav. */
	private class LoopThread extends Thread {
		private Drum11 clip;
		private boolean looping = true;
		public LoopThread(Drum11 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-11.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-11.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-11.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-11.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-11.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}